在Google和StackOverflow上搜索數小時後,我無法找到解決問題的方法。JQuery將點擊事件綁定到html()生成的內容
假設情景:
HTML內容存儲在陣列中,html_content
有控制與ID #html_cntr在DIV的內容的一組與綁定事件的div的,每個事件被調用$('#html_cntr')。html(html_content [0]),$('#html_cntr')。html(html_content [1])等等。
例:
<html>
<div id="html_cntr" style='width:100px;height:100px;background-color:#CCC;'>hello</div>
<div id="hover_area" style='width:100px;height:100px;background-color:#999;'>hover</div>
</html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
html_content = Array();
html_content[0] = " \
<div id='test_area' style='width:100px;height:100px;background-color:#222;color:#FFF;'> \
click here \
</div> \
"
$('#hover_area').hover(function() {
$('#html_cntr').html(html_content[0]);
alert('working');
});
// Does not work
$('#test_area').click(function() {
alert('hello');
});
// Does not work
$('#test_area').on("click", function(){
alert('hello');
});
// Does not work
$(document).ready(function(){
$('#test_area').on("click", function(){
alert('hello');
});
});
</script>
的問題是,如何綁定使用$內容動態生成的事件( '#html_cntr')HTML()? AFIAK on()能夠綁定將來出現的不存在的元素或元素,但無論我做什麼,它都不起作用。
這裏是jsfiddle
的片段,我也試過的onclick =「功能()」,但沒有運氣。
所有幫助表示讚賞,
謝謝!
哈哈它的工作。謝謝:) –
@WilliamYang ..歡迎您! –
而不是'$('#html_cntr')'你也可以使用'$(document)'' –