问题:bootstrap table 生成的表格里formatter添加 的 HTML元素 按钮,js 中添加 点击事件,点击没反应。或者点击好多次,刷新在点击,才有反应。
最近项目用到这个插件,马上就来坑了。自定义的button 点半天没反应,
猜测:
是这个表格插件 加载 数据的时候 跟 js 中 append 添加 html代码 是一样的。
js append方法添加的 html代码,然后给这代码里面的 元素 添加 事件,却获取不该元素。(称之为未来元素),由于是未来的 所以 现在 没有这个元素,导致获取不到。
解决方法:
1.遇到加载 获取不到元素 的 id 或者 class 的时候,可以考虑用这种 新版的 on 方法 添加 这种未来 元素 event 事件。类似其他事件方式写法相同。
2.给该元素 绑定一个 点击事件。
1、页面初始化,定义数组:var arr = []2、点击"选中",获取字符串str
3、先判断str是否已包含在arr,如果不存在继续你的 *** 作,且把str放进arr里面,如果已存在,则中断你的添加事件
注:在某些条件,需要对arr清空,比如在清空你那些li标签的时候,应该需要清空arr
还有一种方式,就是每次点击"选中",先获取所有li标签的内容,然后放进一个数组。然后判断添加的字符串是否在生成的数组里面,不存在的话就继续添加,存在的话,就中断,这种方式不需要去关心初始化的arr是否清空的问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)