如何触发点击动态创建的元素

Ric*_*uld 2 javascript jquery event-binding

我知道我们可以将事件绑定到动态创建的元素,如下所示

$('some').on('click','class/id of dynamic ele',function(){});
Run Code Online (Sandbox Code Playgroud)

但是如何在动态创建的元素上触发点击事件,就像我在 dom 中创建了新元素一样

<div class="one">M</div>
Run Code Online (Sandbox Code Playgroud)

现在我该怎么$( ".one" ).trigger( "click" );办?

Bro*_*val 5

$(document).on('click', '.one', function() {
Run Code Online (Sandbox Code Playgroud)

使用这个来点击动态创建的元素

查找文档以获取更多信息


gue*_*314 5

但是如何在动态创建的元素上触发单击事件,就像我在 dom 中创建了新元素一样

尝试<div class="one">M</div>不使用属性进行定义<div">M</div>;设置attributes第二个参数jQuery( html, attributes ) ,利用.click()

jQuery( html, attributes )

html

类型:htmlString 定义单个独立HTML 元素(例如 或 )的字符串。

属性

类型:PlainObject 一个包含属性、事件和方法的对象,用于调用新创建的元素。


重要提示:如果传递第二个参数,则第一个参数中的 HTML 字符串必须表示没有属性的简单元素。 从 jQuery 1.4 开始可以传入任何事件类型,并且可以调用以下 jQuery 方法:val、css、html、text、data、width、height 或 offset。

// create dynamic element
$( "<div></div>", {
  "class": "one",
  "text": "abc",
  "on": {
    // attach `click` event to dynamically created element
    "click": function( event ) {
      // Do something
      console.log(event.target, this.textContent)
    }
  }
}).appendTo( "body" )
// trigger `click` event on dynamically created element
.click()
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
Run Code Online (Sandbox Code Playgroud)