JavaScript:将参数传递给onclick处理程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript:将参数传递给onclick处理程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1269字,纯文字阅读大概需要2分钟。
内容图文
我需要将额外的参数传递给onclick处理程序.我无法确定哪种方式“更好”:
编辑:
上下文:我有一个表格,显示一个事件的名单.每行都有一个“删除”按钮.将recordId传递给delete-handler的更好方法是什么?
$('a.button').click(function() {
var recordId = $(this).metadata().recordId;
console.log(recordId);
});
...
<tr>...<a class='{recordId:1} button'>delete</a></tr>
<tr>...<a class='{recordId:2} button'>delete</a></tr>
要么
function delete(recordId) {
console.log(recordId);
}
...
<tr>....<a class='button' onclick='deleteRecord(1)'>Delete</a></tr>
<tr>....<a class='button' onclick='deleteRecord(2)'>Delete</a></tr>
每种选择的优缺点是什么?
注意:我使用a.button作为自定义的CSS样式按钮,它不表现为链接.
编辑:
如果你可以论证所提供的替代品的优点,我也会感谢替代解决方案.
解决方法:
将记录ID存储为元素本身的属性,但不建议使用以奇怪格式存储的元数据插件,我建议您使用HTML5的数据属性,这些属性也是向后兼容的.
一行看起来像:
<tr> .. <a data-id="1">delete</a> .. </tr>
在处理程序中,检索属性值并对其进行操作
function deleteRecord() {
var rowId = $(this).attr('data-id');
...
}
它与使用元数据插件相当,但它不会重载class属性.这不需要额外的插件.它使用单个处理程序,正如元数据插件所做的那样,它对大型数据集具有高性能.
由于同样的原因,内联onclick处理程序很糟糕.每行创建一个新的处理程序.它降低了灵活性,通常是一种不好的做法.
内容总结
以上是互联网集市为您收集整理的JavaScript:将参数传递给onclick处理程序全部内容,希望文章能够帮你解决JavaScript:将参数传递给onclick处理程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。