问答详情
源自:5-3 卸载事件off()方法

关于第一个删除按钮

为什么按了第一个删除mousedown事件的按钮后,再点击下面的div,却没有反应???求解

提问者:帅哒哒小白 2016-08-02 14:04

个回答

  • 人生还有多少个二十年
    2016-08-04 21:51:57

    你的问题正是对应于上述的第二个问题。当你按了第一个删除mousedown事件的按钮后,执行了

    $("button").click(function() {

            $(".aaron:first").off('mousedown')

        })

    同时也执行了

    $("button").click(function() {

            $(".aaron:last").off()

        })

    解决方案:把第一个$("button")改为$("button:first"),把第二个$("button")改为$("button:last")

  • 人生还有多少个二十年
    2016-08-04 21:48:41

    这一节的代码出现三个问题(其实主要就两个,我太苛求细节了):

    1. 变量n.

      导致的问题:当你点击了几次第一个测试区域后,只点击了一次第二个测试区域,就会发现第二个测试区域显示的次数显然不是1,因为第一个测试区域的时候就修改了全局变量n的值。

      解决方案:把第二块script代码的n都改为另一个变量,比如i

    2. $("button")

      导致的问题:当你点击了第一个测试区域的按钮时,触发了它绑定的事件(两个script 标签里面都有绑定了 $("button").click(function() {  })        ),再点击下面的div,就没有反应

      解决方案:把第一个$("button")改为$("button:first"),把第二个$("button")改为$("button:last")

    3. h4标签(第一个应该是“测试一”,第二个应该是“测试二”)

    这些错误的出现多半是因为,作者在设计的时候觉得两处要用到的代码差不多,所以写完第一段代码后,就直接复制粘贴产生第二段代码,并且修订第二段代码时,有些地方忘记改了。

  • 驴是的念来过倒
    2016-08-02 14:13:18

    因为测试二中的方法是给<p>定义了方法

    而测试三中则是在按钮上定义的方法

    所以测试二中只要点在<p></p>中间就可以触发事件

    而测试三必须点在按钮上面才可以触发事件

  • 驴是的念来过倒
    2016-08-02 14:13:17

    因为测试二中的方法是给<p>定义了方法

    而测试三中则是在按钮上定义的方法

    所以测试二中只要点在<p></p>中间就可以触发事件

    而测试三必须点在按钮上面才可以触发事件