2015-11-06 104 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