2012-04-13 94 views
4

我正在构建一个jQuery移动网站,但也需要使用jQuery UI小部件 - 特别是滑块。jQuery UI滑块与jQuery Mobile滑块冲突

问题是这些功能冲突。我真的希望jQm已经用'mobile-'前缀写了他们的ui内容,但我现在应该认为它可能已经太晚了。

这是我遇到的问题。如果我在jquery mobile jquery ui滑块工作之后加载jquery ui - 很好,但是我的自定义页面转换不起作用,毫无疑问,jQm中的其他东西的加载被覆盖,我还不知道。

如果我这样做,反过来jQuery手机自定义转换的工作,但然后jquery ui滑块dont,因为他们使用jQm滑块,而不是。

我不能使用jQm滑块,因为我需要垂直选项和jQuery UI滑块的其他功能。

我在寻找的是一种解决方案,它不涉及我的黑客或者jQuery UI或jQuery Mobile,因为我不想在每次更新jQm/jUI时都做这些更改(如果可能的话)。那么是否有一种方法可以加载jquery ui,这样我就可以调用其前缀为'ui-'或jQuery mobile的函数,以便其冲突函数以'mobile'作为前缀,可能在我的jqm自定义js中的移动init函数中?

我在这里找到了一些东西https://github.com/aFarkas/jMediaelement/issues/17 并试过代码,但不能使它在我的函数中工作。

任何想法?

+0

我真的迫切需要一个答案,请,请人? – 2012-04-18 15:44:44

回答

-1

这是一种解决方法,不完全是修复。我使用JQM下载构建器,除滑块之外的所有选项都被选中,因为我使用的是jQ-ui滑块。问题解决了,但我现在不能使用JQM滑块。不是我需要。

+0

OP状态他需要两者。 – James 2014-09-18 14:44:45

7

这对我有效。如果其他人有同样的问题。我只好到下一行jQuery UI的经过和jQuery移动

$.fn.uislider = $.fn.slider; 

前的代码示例将补充:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script> 
<script> 
    // rename to avoid conflict with jquery mobile 
    $.fn.uislider = $.fn.slider; 
    </script> 
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> 
<script> 
    $(function() { 
    $("#slider").uislider(); 
    }); 
    </script>