大量onclick元素..或者可能是一些jquery
Big amount of onclick elements...or perhaps some jquery
我正在构建一个应用程序,该应用程序在某个时刻会生成一个相当大的汇总表(20x~200)。一些细胞(可能是1000个),我可以在支持代码中识别,需要有某种onclick绑定。这些单元格的值需要解析为页面上的输入字段。
我研究了以下内容的内联呈现:onclick=genericfunctioncall("copy_of_celldata")不知怎么的,这对我来说还不够现代……:)
由于我在使用JQuery做其他事情,我想利用它。考虑类绑定和id绑定(必须使我呈现id和大量绑定)。绑定类是我喜欢的方式。但是,因为我动态地呈现表(Ajax在MVC4中调用一个局部视图并呈现.data),所以我必须使用.on("click",….)方法。我想不出一种方法来检测我点击了哪个TD来确定它的值,并将其解析为输入。
有人有主意吗?
为您想要分配点击事件的所有td
提供一个公共类。
使用事件委派,因为您要为1000多个元素绑定相同的委派。
在事件中使用this
上下文来获取触发事件的td。
$('table').on('click', '.tdClass', function() {
// this refers to td which triggered the event
});
我对使用jQuery.data()非常满意。您可以将任何想要的东西绑定到DOM元素。如果你有一个来自服务器的JSON响应,这里将是一个使用它的例子:
$.get('/url',function(resp){
$.each(resp,function(k,v){
// v is json object {"name":"item name","id": 22, "link": "http://www.google.com"}
var item = $('<li />');
item.html(v.name);
item.data('item',v); //attach your json object to dom element.
$('ul').append(item);
});
});
$('ul').on('click','li',function(){
var data = $(this).data('item') // get your original object
alert(data.link) -->> "http://www.google.com"
// do whatever you need to do.
});
相关文章:
- jquery Onclick函数带有导致双击的回调排序函数
- jquery onclick过早地触发(?)
- Jquery Onclick将数据发送到新打开的窗口
- jquery onclick or onchange on different elements
- Jquery移动转换复选框在Jquery onclick函数()中第二次选中不起作用
- jquery onclick if..否则如果..否则无法正常工作
- Jquery Onclick 事件函数第二次不起作用
- jQuery onclick 函数:未定义不是一个函数
- jQuery onClick() IE 中的音效和重定向
- jquery onclick 切换最接近的 UL
- Jquery onclick delete i++
- Javascript块显示到jQuery onclick
- 将jQuery onClick切换到keyCode
- Jquery onclick事件加载XML的特定节点
- 保证HTML表单提交和jQuery onclick的执行顺序
- 第二次单击后,jQuery-onclick事件不会更改类
- 在jquery onclick事件的页面中添加javascript代码
- 将参数传递给JQuery onclick事件
- 使用 RequireJS 和 JQuery onclick 事件处理“this”
- jQuery onClick 事件有效,除非单击文本