我刚刚开始使用jQuery Mobile。我遇到了一个我还没有完成的问题。jQuery切换和jQuery Mobile切换,都触发?
我得到了这段代码。它所做的是它触发两次toggle
。一个用于jQuery,另一个用于jQuery Mobile(在删除对jQM的引用时按预期工作)。有关如何避免使用移动设备的任何想法?添加命名空间...?
var navigation = $main_nav.find("[data-toggle-id='" + target + "']");
navigation.toggle(200, function() {
console.log('toogle');
});
编辑
演示:http://jsfiddle.net/4mpdR/4/
我没有在这里得到相同的行为,但是这基本上是我的设置。
EDIT2
$(function() {
$(document).on('click', '.nav__toggle', function() {
var $main_nav = $('.main-nav');
var target = $(this).data('target');
var navigation = $main_nav.find("[data-toggle-id='" + target + "']");
navigation.toggle(200, function() {
console.log('toogle');
});
});
});
EDIT3
这只是一个<nav>
。看在控制台我看到它触发两次,有一次它有我的实际.js文件的引用,第二个是VM [号码],删除jQuery Mobile消除虚拟机。
[nav.main-nav__collapse.clearfix, prevObject: jQuery.fn.jQuery.init[1], context: document, selector: ".main-nav [data-toggle-id='main-nav__collapse']", constructor: function, init: function…]
0: nav.main-nav__collapse.clearfix
context: document
length: 1
prevObject: jQuery.fn.jQuery.init[1]
selector: ".main-nav [data-toggle-id='main-nav__collapse']"
__proto__: Object[0]
我认为JSfiddle会提供更好的洞察力......您可以添加它吗? – j809
也许你应该用'$(navigation).toggle()'... – j809
如果你在小提琴中没有得到相同的问题,那么你可能已经分配了两次事件。如果你可以给你的整个功能,那么我们可以看看它... – j809