jQuery滑块和iui(iphone)之间发生冲突

前端之家收集整理的这篇文章主要介绍了jQuery滑块和iui(iphone)之间发生冲突 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试在iPhone Web应用程序上获取滑块,我正在使用iui处理ui.滑块似乎与iui.js产生某种冲突,当您拖动滑块尝试打开另一个页面时.但是,当您单击栏的某些部分时,它可以正常工作.我以为是导致它的幻灯片事件,但是在两种情况下都触发了该事件,所以我有点卡住了.任何帮助将不胜感激.

简单的测试用例(单击以获取滑块):

<head>
    <Meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>

    <script type="application/x-javascript" src="http://www.joehewitt.com/iui/iui/iui.js"></script>
    <link href="http://www.joehewitt.com/iui/iui/iui.css" type="text/css" rel="stylesheet" />

    <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
    <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
    <script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.slider.js"></script>
    <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />

    <script language="javascript">
        $(document).ready(function(){
            $("#slider").slider()
        });
    </script>
</head>
<body>
    <div class="toolbar">
        <h1 id="pageTitle"></h1>
        <a id="backButton" class="button" href="#"></a>
    </div>
    <ul title="slider test" selected="true">

        <li class="group">Page 1</li>       
        <li>
            <a class="mainnav" href="#page2">page 2</a>
        </li>
</ul>
    <div id="page2" title="foo.inc">
        <div id="slide_container">
            <div id="slider"></div>
        </div>
    </div>
</body>
最佳答案
我不熟悉iui,但是在您写信时:

but this event is triggered in both cases

我认为您错过了一些内容(可能很好地解释了您的问题).如果看一下滑块的代码,您会发现鼠标拖动的确触发了一组不同的事件.看“ _mouseCapture”和“ _mouseDrag”. _mouseDrag确实会触发“ _slide”,但也会先触发“ _normValueFromMouse”.至于“ _mouseCapture”,它并没有直接连接到滑块代码中(显然,它是通过一些通用的jQuery UI代码完成的),所以我不能确定是否涉及到它,但是基于名称,它似乎很可能是.

无论如何,_mouseDrag,_normValueFromMouse或可能的_mouseCapture(或他们调用的某些函数)似乎在无意中调用了一些iui函数.我的猜测是,iui会挂接一个与滑块/ jQuery UI函数同名的函数,并在jQuery UI挂接它之后执行此操作,因此幻灯片调用iui函数.

想象一下,如果在jQuery UI中定义了一个“ goSomewhere”函数,然后通过_mouseDrag对其进行了调用.通常,它可以正常工作,但是如果有人(iui)定义了自己的“ goSomewhere”函数,则该函数将由_mouseDrag代替.

另外,问题可能在于,滑块代码正在调用某些内容,这些内容通常不会导致导航到另一页,而在iPhone平台上会发生.但是,我怀疑情况并非如此.

希望能有所帮助.

猜你在找的jQuery相关文章