用javascript写了一个树状组件,mouseover出现的元素没法和click事件绑定,应该如何解决?
黄舟
黄舟 2017-04-11 09:13:05
0
3
350

https://yisha0307.github.io/I...

上面是我写的demo~有个问题是我mouseover的时候后面会出现一个x和一个+,然后我把click事件绑在上面,用的是

$('body').on('click','.fa-times',dele)

dele表示的是一个window.prompt的function;然而我无法click到这个元素,为什么呢?

这是我的js代码:
https://github.com/yisha0307/...

html:
https://github.com/yisha0307/...

应该要怎么修改呢?谢谢各位!

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous (3)
PHPzhong

我认为是这里的问题:

$('body').on('mouseover','span',showicon); $('body').on('mouseout','span',hideicon);

可以改成这样试试:

$('body').on('mouseenter','span',showicon); $('body').on('mouseleave','span',hideicon);

而且,不建议直接使用span来绑事件,最好使用class

    洪涛

    动态添加到DOM的元素(比如你的fa-times是动态添加的吧?),使用on()时要绑定到document对象上。
    这样试试:

    $(document).on('click','.fa-times',dele);
      阿神

      html:
      每项后面都先加上, 不要每次移入移出都要操作dom

      js:

      var showicon = function(){ $(this).find(".fa").show(); } var hideicon=function(){ $(this).find(".fa").hide(); }

      css:

      .fa{ display: none; }

      还有像楼上说的, 不是不建议用span 绑定, 是不能用. 建议题主多了解HTML语义化

        Derniers téléchargements
        Plus>
        effets Web
        Code source du site Web
        Matériel du site Web
        Modèle frontal
        À propos de nous Clause de non-responsabilité Sitemap
        Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!