我想要完成的工作在 Chrome 上完美运行 - Android 4.1
但在 iOS 上却很难成功。
$(document).on('mouseenter touchend','[id*=mmlink]', function (e) {
var $btn = $(this);
var href = $btn.attr('href');
var count = ($btn.data('click_count') || 0) + 1;
$btn.data('click_count', count);
if (count == 1) {
$btn.click(function(v) {
v.preventDefault();
});
} else {
document.location.href = href;
}
});
我使用 milonic 菜单生成子菜单。我需要使用.on()
选择子菜单。
测试页:http://www.wolfbariatrics.com/mmtest/index.htm http://www.wolfbariatrics.com/mmtest/index.htm
我认为还有一个事件只发生在 iOS 中。 Safari 的远程调试器允许我设置断点,但一旦我踏入或越过它,就会跟随锚标记。
我已经完全从锚标记和 href 中删除所有事件,但仍然没有任何效果。
您可能想在 StackOverflow 上查看有关 event.preventDefault 的主题并返回 false:
event.preventDefault() 与 return false https://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false
基本上:
“jQuery 的 PreventDefault 不会阻止其他处理程序执行。这就是 stopImmediatePropagation 的用途。”
and
“从 jQuery 事件处理程序中返回 false 实际上与在传递的 jQuery.Event 对象上调用 e.preventDefault 和 e.stopPropagation 相同。
e.preventDefault() 将阻止默认事件发生,e.stopPropagation() 将阻止事件冒泡,而 return false 将同时执行这两种操作。请注意,此行为与普通(非 jQuery)事件处理程序不同,其中,值得注意的是, return false 不会阻止事件冒泡。
”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)