conflict between JQuery slider and iui (iphone)
صفحه اصلي

conflict between JQuery slider and iui (iphone)



Im trying to get a slider on an iphone web app, I'm using iui to handle the ui. The slider appears to be causing some kind of conflict with iui.js, when you drag the slider it tries to open another page. However it works fine when you just click on some part of the bar. I thought it was the slide event causing it but this event is triggered in both cases, so I'm a bit stuck. Any help would be greatly appreciated.

Simple test case (click through to get the slider):

<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> 

Using Instruments Leaks & Object Alloc: Are autoreleased objects counted as leaks?

1:

Beginner questions regarding to “building a library”, in Xcode on iPhone specifically
I'm not familiar with iui, although when you wrote:. How to parse nested JSON objects with JSON framework and Objective-C/iPhone/Xcode?
although this event is triggered in both cases. NSArray (and other containers) behavior on dealloc
I think you missed any thing (which may well explain your problem). Using directory with WebViewUI If you look at the slider's code, you'll see this mouse drags did have a different set of events this are triggered; look at "_mouseCapture" and "_mouseDrag". iphone-sdk, sharing data between multiple views _mouseDrag does trigger "_slide", although it also triggers "_normValueFromMouse" first. Some beginner Objective-C/iPhone questions As for "_mouseCapture", it's not hooked up directly in the slider code (so evidently it's done via any universaljQuery UI code), so I can't say for sure it's involved, although based on the name it seems likely this it is.. How can I make an sort of multidimensional associative array in objective-c / UIKit? In any event, either _mouseDrag, _normValueFromMouse, or possibly _mouseCapture (or any function they call) seems to be calling any iui function inadvertently. My guess would be this iui hooks up a function with the same name as a slider/jQuery UI function, and does so after jQuery UI hooks up it's stuff, and as a result the slide calls the iui function.. Imagine if a "goSomewhere" function was defined in jQuery UI, and then called by _mouseDrag. Normally it would job fine, although if any one (iui) defined its own "goSomewhere" function this function would be called instead by _mouseDrag.. Alternatively, the problem might be this the slider code is calling any thing this doesn't result in navigating to ananother page normally, although does in iPhone land; however, I suspect this this isn't the case.. Hope this helps..

2:

Thanks for the guidance machineghost. Incase anyone else has this problem, its caused by the iui function 'addEventListener' picking up the clicks on the slider. It the tries to set the selected attrialthough e on the tag '#', which breaks the page. You must check if the tag is a real one before allowing this to continue, not a perfect fix although it works..


80 out of 100 based on 55 user ratings 490 reviews

*