2015-11-06 106 views
0

我试图使用这些代码行向点击添加点击功能,但点击事件不会触发警报。将onclick函数附加到div jquery

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 我不知道我在做什么错,并希望对此事的任何和所有帮助。

+0

'“

0

如果你使用jQuery,您可以点击事件通过使用$(“格”),用于选择添加到所有在div(只记得调用该函数加载在div后)

我有创建简单的点击功能的一个例子

$(".start").click(function() { 
    $(this).toggleClass("onClick"); 
}) 

http://jsfiddle.net/7j6s2Lws/2/

的$(这)将识别对象实际上是触发事件,只有选择它。在我的情况下,如果你点击一个div,它会改变颜色(只有它)

0

我会选择一个稍微不同的方法。我希望我理解你的问题所在,即使我真的不得到你想要通过把<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/

+0

如果你只是想添加clickhandler到任何现有的东西,然后看看小提琴/ js/line5 – uschihund