为了账号安全,请及时绑定邮箱和手机立即绑定

为什么只有第一个p元素点击了有反应

为什么点击第一个p元素有反应,第二个没有 是因为script放的位置的关系吗,有人能具体解释一下吗

正在回答

3 回答

因为编写顺序问题,使得该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() //指定触发绑定的事件

            })

        })

0 回复 有任何疑惑可以回复我~
        $('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')的内容,你仔细看,是不是。

0 回复 有任何疑惑可以回复我~

因为第一个p上加了事件,而第二个p上没有

<script type="text/javascript">
        $('p').click(function(e) { 
            alert(e.target.textContent)
        })
        //this指向button元素
        $("button:eq(1)").click(function() {
            $('p').click() //指定触发绑定的事件
        })
    </script>


0 回复 有任何疑惑可以回复我~
#1

慕前端7352391 提问者

没明白
2017-09-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么只有第一个p元素点击了有反应

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信