jQuery方法.closest()在iOS设备上不起作用。我正在使用.closest()
和event.target
来检测被窃听的目标元素是否具有特定的祖先。不幸的是,这在iOS设备上返回并出错。
HTML
<ul class="level-1">
<li><a href="#" class="item-1">Level 1 - Item 1</a></li>
<li><a href="#" class="item-2">Level 1 - Item 2</a></li>
<li><a href="#" class="item-3">Level 1 - Item 3</a></li>
</ul>
jQuery
$('.item-1').on('touchstart', function(e) {
e.preventDefault();
console.log(e.target.closest('.level-1'));
});
错误
可以在jsfiddle上找到实时示例。
最佳答案
您正在调用dom元素的closest method(e.target
是dom元素引用),这是一项实验性功能(仅受few browsers支持),需要调用jQuery closest()方法以实现跨浏览器兼容性
console.log($(e.target).closest('.level-1'));
关于javascript - jQuery .closest()方法在iOS设备上返回未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31514124/