Еще одна проблема у меня есть w/jqTouch... Я пытаюсь обнаружить, какой элемент был нажат для инициирования анимации так, чтобы я мог передать параметры от нажатого объекта до последующей страницы.
Мой HTML:
Когда я нажимаю на любой из элементов списка в #places, я могу скользить к #singleplace очень хорошо, но я пытаюсь обнаружить, какой элемент был нажат так, чтобы я мог передать параметры в #singleplace отделение. Мой JavaScript:
var placeID;
$('#places a').live('mouseup',function(){
$('#singleplace h1').html($(this).text())
placeID = $(this).parent().attr('id');
})
Я попробовал несколько альтернатив $ (el) .live ('событие', fn ()) подход включая:
$('#places a').live('click',fn()...
$('#places a').live('mouseup',fn()...
$('#places a').live('tap',fn()...
$('#places a').tap(fn()...
Ни один из которых, кажется, не работает. Существует ли лучший способ, которым я мог обрабатывать это? Я заметил на странице проблем jqTouch, существует это: http://code.google.com/p/jqtouch/issues/detail?id=91, который может быть частью проблемы...
Если вы просто пытаетесь передать информацию о том, какой элемент списка был нажат, вы можете прикрепить onClick = "function (event)"
к элементам ...
<li><a id="1" title="first" onClick="send(event)" href="#singleplace">Place 1</a></li>
, затем в js ...
function send(event) {
x=event.target;
}
где x.id == '1' x.title == first & x.text == 'Place 1'
надеюсь, что это немного поможет.
Я нашел решение:
tap(function()...)
вместо live('click',function()...)
jQT.goTo('#singleplace','slide');
return false;
var placeID;
$('#places a').tap(function(){
$('#singleplace h1').html($(this).text());
placeID = $(this).parent().attr('id');
jQT.goTo('#singleplace', 'slide');
return false;
});
Это работает для меня, даже в Firefox и Safari, не только в мобильном Safari.
Немного дополнительной информации:
Похоже, есть проблема с живым событием в JQTouch: http://code.google.com/p/jqtouch/issues/detail?id=165
Дайте мне знать, если это также работает для вас.