慕前端7352391
2017-09-05 16:58
为什么点击第一个p元素有反应,第二个没有 是因为script放的位置的关系吗,有人能具体解释一下吗
因为编写顺序问题,使得该script以下代码还未加载,当把如下代码添加最后,第二个p标签点击事件生效
<script type="text/javascript"> $('p').click(function(e) { alert(e.target.textContent) }) //this指向button元素 $("button:eq(1)").click(function() { $('p').click() //指定触发绑定的事件 }) </script>
还可以使用$(document).ready()节点都加载完毕后,再执行后续的代码
$(document).ready(function() {
$('p').click(function(e) {
alert(e.target.textContent)
})
$("button:eq(1)").click(function() {
$('p').click() //指定触发绑定的事件
})
})
$('p').click(function(e) { alert(e.target.textContent) })
这是第一个p元素上的事件代码。
可以看出,点击p元素即跳出警告框,其内容来p标签内的文本。
function data(e) { alert(e.data) //1111 } function a() { $("button:eq(2)").click(1111, data) } a();
而在第二个p元素上,没有带有$('p')的内容,你仔细看,是不是。
因为第一个p上加了事件,而第二个p上没有
<script type="text/javascript"> $('p').click(function(e) { alert(e.target.textContent) }) //this指向button元素 $("button:eq(1)").click(function() { $('p').click() //指定触发绑定的事件 }) </script>
jQuery基础(三)—事件篇
89997 学习 · 625 问题
相似问题