使用 .append() 创建一个元素,然后直接分配 onclick 处理程序


是否可以

使用 .append((/.after(( 直接将 onclick-handler 分配给之前插入到 html 代码中的元素,或者这个元素还没有"准备好"?

事件侦听器分配给元素(或元素的子元素(,然后将该元素插入 DOM 是完全可以的。

因为问题是关于jquery的。下面是一个 jquery 示例:

var buttonWrapper = $('<div>mmmmmmmm<button class="btn">click</button></div>');
var button = buttonWrapper.find('button.btn');
button.on('click', clickListener);
var container = $('#container');
function clickListener() {
  alert('clicked!');
}
container.append(buttonWrapper);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
content
</div>

您可以将 onClick 标记指定为 html onClick 属性。这将确保它已准备就绪。

something.append('<htmlelement something="" onClick="functionToTrigger(parameters)">ValueMaybe</htmlelement>');

使用 Dom Elements 肯定会减慢您的网页速度。

最新更新