问答详情
源自:5-1 编程挑战

为什么onkeyup事件在ul上绑定无效

我查了百度,ul和li,a这些标签都支持onkeyup事件,但是我测试是发现ul上绑定没有反应,只有在外层的document或是div上才能触发,哪位大神来解惑一下。

menu.onkeyup=function(e){

     //这里为啥执行不了
     //代码
    }

提问者:慕粉wz 2016-09-06 16:54

个回答

  • 小谢星
    2017-03-13 14:51:44

    ul是支持onkeyup的,你可以单独找一个ul测试一下

    onkeyup事件必须执行的前提是 对象必须拿到焦点,就是你当前必须选中这个对象的情况下,才有可能触发onkeyup。

    你上面的例子选是能选中,但是选中的是ul下面的li,而且一旦选择直接执行li的onclick事件了,执行完之后焦点应该又交给了document对象,所以这种情况下ul的onkeyup事件没机会执行。

    你可以把li的onclick注释掉,然后试一试你的代码

  • 慕粉3620994
    2016-09-06 17:49:21

    支持鼠标事件的 JavaScript 对象是:

    document, image, link, textarea