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

来源:2-1 jQuery鼠标事件之click与dbclick事件

慕前端7352391

2017-09-05 16:58

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

写回答 关注

3回答

  • Dr_nie
    2020-05-11 11:31:53

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

                })

            })

  • 伽兰子
    2017-09-13 22:43:25
            $('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')的内容,你仔细看,是不是。

  • tmy5277
    2017-09-05 21:56:00

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

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


    慕前端735...

    没明白

    2017-09-06 14:48:40

    共 1 条回复 >

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题