繁体   English   中英

将onclick函数附加到div jquery

[英]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);
}

小提琴

http://jsfiddle.net/2pofLnb7/2/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM