如何以onclick值为按钮标识符自定义无ID表单的点击事件?
解决无ID表单按钮的自定义点击逻辑问题
嘿,你写的代码存在语法错误,没办法正常运行。我来帮你修正并实现你想要的自定义点击逻辑——毕竟没法修改原showModal()函数的话,我们得换个正确的方式绑定自己的逻辑。
方法一:用属性选择器精准定位目标按钮
直接通过属性选择器找到onclick值为showModal()的按钮,再绑定点击事件,这是最直接的方式:
$(document).ready(function() { // 精准匹配onclick属性为showModal()的按钮 $('button[onclick="showModal()"]').on('click', function() { // 你的自定义逻辑 alert('test'); // 如果你不想执行原有的showModal(),可以加上这行移除内联事件 // $(this).removeAttr('onclick'); }); });
方法二:用filter方法灵活筛选按钮
如果担心内联onclick里有空格或者其他细微差异(比如showModal()写成showModal( )),用filter方法判断会更稳妥:
$(document).ready(function() { $('button').filter(function() { // 检查当前按钮的onclick属性是否完全匹配showModal() return $(this).attr('onclick') === 'showModal()'; }).on('click', function() { alert('test'); // 同样,要阻止原函数就加上removeAttr('onclick') }); });
重要提示
- 如果你只想执行自己的自定义逻辑,完全跳过原
showModal(),一定要记得移除按钮的onclick属性——不然点击时会先执行原函数,再执行你的alert。 - 要是原
showModal()里有必须保留的逻辑,那就不用移除onclick,这样两个逻辑都会执行。
内容的提问来源于stack exchange,提问作者n00b
相关产品推荐
相关产品推荐

