我不确定你实际使用的是什么库,但我会假设 jQuery(如果你使用的不是 jQ,我也会在 browser-native-js 中发布相同的代码)
$bod.delegate('*', 'touchstart',function(e)
{
if ($(this) !== $altNav)
{
e.preventDefault();
//and /or
return false;
}
//current event target is $altNav, handle accordingly
});
那应该照顾一切。此处的回调处理所有touchmove 事件,并在preventDefault
每次在除$altNav
.
在 std browser-js 中,此代码类似于:
document.body.addEventListener('touchmove',function(e)
{
e = e || window.event;
var target = e.target || e.srcElement;
//in case $altNav is a class:
if (!target.className.match(/\baltNav\b/))
{
e.returnValue = false;
e.cancelBubble = true;
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}
return false;//or return e, doesn't matter
}
//target is a reference to an $altNav element here, e is the event object, go mad
},false);
现在,如果$altNav
是具有特定 id 的元素,只需将其替换为等等......祝target.className.match()
你
好运,希望这会有所帮助target.id === 'altNav'