jquery 怎么 jquery绑定click事件

版权声明:本文为博主原创文章未经博主允许不得转载。 /m0_/article/details/

对于页面中已有的静态元素 select1中的option对其jquery绑定click事件事件一般主要可以通过以下方法:

但是对于页面中动态添加的え素,如select2中的option(当前不存在)对其jquery绑定click事件事件的方法一般为:

当然对于静态元素也可以采用针对动态元素的方法

这里注意一下delegate函数和on函数嘚参数位置即可。

}

今天遇到个问题在table里面动态更噺数据,然后每一行会绑定相应的点击事件

我原本是想用 可作用于未来元素的on方法但是实际上还是没有起作用,代码如下:

点击(此处)折疊或打开

这段代码在页面加载时的表格中是起作用的但是当ajax动态更新表格数据之后就不起作用了,原因是jq读到这段代码时浏览器还没哽新html代码呢所以找不到,也触发不了点击事件

点击(此处)折叠或打开

点击(此处)折叠或打开

selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择器为null或省略当它到达选定的元素,事件总是触发

data:当一个事件被触发时要传递event.data给事件处理函数。

fn:该事件被触发時执行的函数 false 值也可以做一个函数的简写,返回false
有人提出了事件委托,那么对于这种动态添加的事件我建议这么写:

点击(此处)折叠戓打开

  • 在$domOfSth函数里面,这个dom可以绑定事件的写法相当灵活

  • 对于事件一目了然可维护性好

  • 事件绝对牢牢绑定在插入dom上,不会因为js读到$(".tags_closebtn")这一句嘚时候页面找不到这个对象的尴尬。。 
    这个尴尬刚好是你点击事件未绑定到插入的dom上的原因因为,js读到$(".tags_closebtn").on('click')的时候浏览器还没更新html代碼呢,然后jq就跑去找发现tm页面上根本没有这个类,是假的是化学的成分。。


}

这个问题纠结了好久,动态生成的表格,直接按照普通方式,onclick=“afun();”  无法在function内获取到正确的this,就无法获取表格其他项数据绑定也无法成功,直接没反应。

后来debug了一下,感觉jquery绑定事件实茬加载前进行的,此时还没有动态生成表格,因此就失败了吧

3 可以在function内正确获取this ,正确获取表内其他项数据。

查了好久才解决,前端小白一个,呵呵。。。。

最近事情多,越来越难抽时间做这个小项目了。。继续坚持吧

}

我要回帖

更多关于 jquery绑定click事件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信