You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails应用中Webpack定义的onClick点击事件不触发问题

解决Rails Webpack环境下按钮点击无反应的问题

嘿,我一眼就看到问题所在啦——你踩了个很容易忽略的小坑:原生DOM的点击事件属性是全小写的onclick,而不是你写的驼峰式onClick!

你现在的代码把点击逻辑绑定到了自定义的onClick属性上,浏览器根本不会把它识别为触发点击动作的事件,所以虽然控制台能看到这个属性存在,但点击按钮就是没反应。

修正方案1:改用原生小写事件属性

把代码里的onClick改成onclick就可以解决:

$(document).ready(()=> { 
  document.getElementById('add-card').onclick = () => { 
    $('.ui.modal').modal('show'); 
  } 
});

修正方案2:用jQuery绑定事件(更推荐)

既然你已经在使用jQuery,直接用它的事件绑定方法更简洁,还能彻底避免这类大小写错误:

$(document).ready(()=> { 
  $('#add-card').on('click', () => { 
    $('.ui.modal').modal('show'); 
  }); 
});

额外排查点(如果改完还是没反应)

  • 确认jQuery和Semantic UI的JS文件已经通过Webpack正确加载:在浏览器控制台输入$和$.fn.modal,要是返回undefined,说明资源加载出问题了。
  • 检查模态框的HTML结构是否符合Semantic UI的要求,比如有没有正确的ui modal类,内部的头部、内容、按钮区域是否完整。
  • 如果按钮是动态渲染的(比如通过AJAX加载出来的),得用事件委托绑定到父元素或document上:
$(document).ready(()=> { 
  $(document).on('click', '#add-card', () => { 
    $('.ui.modal').modal('show'); 
  }); 
});

内容的提问来源于stack exchange,提问作者Amin Shah Gilani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:10:16