在 jQuery 中,要检测一个子菜单项是否已被触摸,可以使用事件委托来监听触摸事件,并通过事件对象的 target
属性来获取被触摸的元素。以下是一个示例代码,展示了如何实现这一功能:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Touch Detection</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<ul id="menu">
<li id="item1">Item 1</li>
<li id="item2">Item 2</li>
<li id="item3">Item 3</li>
</ul>
<script>
$(document).ready(function() {
$('#menu').on('touchstart', function(event) {
var touchedItemId = event.target.id;
console.log('Touched item ID:', touchedItemId);
// 在这里可以添加更多的逻辑来处理被触摸的元素
});
});
</script>
</body>
</html>
touchstart
是当手指触摸屏幕时触发的事件。touchstart
, touchmove
, touchend
等。Modernizr
库来检测浏览器支持情况,并提供降级方案。ul
包含三个列表项 li
。on
方法监听 #menu
元素的 touchstart
事件。当事件触发时,通过 event.target.id
获取被触摸元素的 id
,并在控制台输出。通过这种方式,可以有效地检测和处理用户触摸子菜单项的操作。
领取专属 10元无门槛券
手把手带您无忧上云