javascript - js绑定事件,不生效。

查看:176
本文介绍了javascript - js绑定事件,不生效。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<div id="wai">
    <div id="nei">
        <img>
    </div>
</div>

给img绑定事件,然后点击时候不生效。
但是如果把nei这一层去了,可以生效。
应该就是如何给子孙元素绑定点击事件,并且让生效吧。。
项目遇到的不太确定是不是这个。。姑且一问。谢谢各位大佬!


    var html="",arrrr=[];
    for(var x=0;x<$("#xiangmutu img").length;x++){
        if((x+1)%9==1){
            html+="<div class='huadong' style='left:"+(x/9)*100+"%'>"
        }
        html+=$("#xiangmutu img")[x].outerHTML;
        if((x+1)%9==0){
            html+="</div>"
        }
    }
    $("#xiangmutu").html(html)

这是给外层加的滑动div,里面是img,最外面是xiangmutu。

$("#xiangmutu").find("img").each(function(index,obj){
    $(obj).on("click",function(){
        console.log(index)
    })
})

这是js的 我想点击图片放大。但是图片下标获取不到。因为要获取下标,所以只能给img绑定把。。我小白。。但是给img绑定又没反应。。所以。


不好意思,各位再问一个问题。怎么给事件委托的元素,也就是里面的img解绑,unbind
因为在一个页签里,这个img,不然多次点页签会有bug。。谢谢。。


ok解决了。给父元素使用解绑就能解除委托元素的事件了,暂且这么认为吧- -。。
$("#xiangmutu").unbind("click.a");
$("#xiangmutu").on("click.a","img",function(){})
谢谢大家

解决方案

简单的话就用事件委托处理

$("#xiangmutu").on("click", "img",function(e){
    e.preventDefault();
    //这里的this就是img元素了
    // do something with this
})

但是对于第一段的js的作用有点。。懵逼?大概是把里面图片按照9个一组放进一个div里面?

这篇关于javascript - js绑定事件,不生效。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆