Javascript 不适用于 ujs 新生成的 DOM 元素

Posted

技术标签:

【中文标题】Javascript 不适用于 ujs 新生成的 DOM 元素【英文标题】:Javascript doesn't work with ujs's new generated DOM element 【发布时间】:2015-11-26 06:13:19 【问题描述】:

javascript 不适用于 ujs

以下由ujs(ajax调用)生成的DOM。

然而,onClick 事件对动态生成的 DOM 根本不起作用?

当我单击下拉选项时,它应该显示警报窗口,但它没有。

我该如何解决这个问题。

  %select
    - @items.each do |item|
      %option:value => "#item.code", :onClick => "alert('hihi');"= item.introduction

【问题讨论】:

你尝试过 onchange 事件吗? 【参考方案1】:

这与the dynamic-generated DOM无关。

您不能在option 标记上使用onclick。 在选择标签上使用onchange 事件:

%select:onChange => 'if (this.value == "itemcode")alert("hihi")'
  - @items.each do |item|
    %option:value => item.code= item.introduction

【讨论】:

以上是关于Javascript 不适用于 ujs 新生成的 DOM 元素的主要内容,如果未能解决你的问题,请参考以下文章

自最近升级以来新生成的 GeneratedMSBuildEditorConfig 文件

Laravel Passport 无法验证我新生成的令牌

我如何将这个新生成的图像上传到我的 localhost/images/

arcgis python 新生成的数据设置

RoR unobtrusive scripting adapter--UJS(一些Javascript的语法糖)

在 JS 模块中使用 Rails-UJS(带有 webpacker 的 Rails 6)