[英]append onclick function to div jquery
我正在尝试使用这些代码行向div添加on click函数,但click事件不会触发警报。
var str="<script>$(this).on(\"click\",function(){alert('hello');})";
str+="<";
str+="/script>";
$("div:contains('Send')").last().append(str);
我也尝试过this
和$(this)[0]
但是这些给了我错误this.on/ $(this)[0].on is not a function
我不知道我在做什么错,我会很感激在这件事上的所有帮助。
不必麻烦为脚本创建字符串。 您可以只使用.query并在click事件中注册它。
$("div:contains('Send')").last().on("click", function () {
alert('hello');
})
如果您使用的是jQuery,则可以通过使用$(“ div”)作为选择器将click事件添加到所有div中(请记住在加载div之后调用该函数)
我创建了一个简单点击功能的示例
$(".start").click(function() {
$(this).toggleClass("onClick");
})
http://jsfiddle.net/7j6s2Lws/2/
$(this)将标识实际触发事件的对象,并仅选择它。 就我而言,如果您点击div,它将改变颜色(只有它)
我会选择稍微不同的方法。 我希望即使我并没有真正通过将<script>
放入您的字符串中来得到您想要实现的目标,也能正确理解您的问题……也许这会有所帮助:
html
<div id='container'>
<button>Send</button>
</div>
js
var $container = $("div:contains('Send')");
var elementToAppend = "<div class='myClass' style='width:100px; height:100px; border: 1px solid red'>added dynamically ... click me</div>";
appendToContainer($container, elementToAppend);
$('.myClass').click(function($element) {
alert(123);
});
function appendToContainer($container, element) {
$container.append(element);
}
小提琴
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.