我对使用 javascript 和 jquery 有基本的感觉,并且想了解事件触发时到底发生了什么。
此代码生成四个警报,显示“submitButton”。这是为什么?
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<title>Demo</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$("*").click(function(event) {
alert(event.target.id);
});
});
</script>
<body>
<div id='submitDiv'>
<input id='submitButton' type="submit" class="button" value="Submit"/>
</div>
</body>
</html>
最佳答案
*
文字选择所有元素。因此,您要添加一个处理程序:
- 文档 (html)
- 正文
- 提交Div
- 提交按钮
请注意,事件会冒泡(从下到上到 DOM 的顶部)。您可以通过从处理程序返回 false 来防止事件冒泡:
$("*").click(function(event) {
alert(event.target.id);
return false;
});
关于javascript - 了解 javascript/jquery 事件 : why does this alert fire four times?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840317/