您的位置:首页 > Web前端 > JavaScript

js如何为动态生成的标签添加事件

2015-01-14 00:00 405 查看
摘要: 防忘

原文:

$('#off_click').click(function(){

var src = $(this).attr('src');

//获取手机的宽度

var w = window.innerWidth

var h = window.innerHeight

//alert(w+':'+h)

$('#bg').after('<div id="bg_click" style="width:'+w+'px;height:'+h+'px;text-align:center; background:#333;position:absolute;"></div>')

var img_w = w / 100 * 95

$('#bg_click').prepend('<img id="on_click" onclick="reImg()" src="'+src+'" width="'+img_w+'px" style="position:relative;z-index:1; padding-left:1%;padding-right:1%;" />')

var top_h = $('#on_click').css('height')

top_h = parseInt(top_h)

manage_h = (h - top_h) / 2

//alert(manage_h)

$('#on_click').css('top',manage_h)

})

function reImg(){

$('div').remove('#bg_click')

}


简单示例:
错误的方法:

<a id='click'>点击这</a>

<script>

$('#click').click(function(){

$(this).after('<img id="on_click" src="" width="1000" height="200" style="position:absolute;left:0;"/>')

})

$('#on_click').click(function(){

alert(1)

})

</script>


这个时候生成的img标签无论点多少次都不会alert(1)

正确的方法:

<a id='click'>点击这</a>

<script>

$('#click').click(function(){

$(this).after('<img onclick="imgClick()" src="" width="1000" height="200" style="position:absolute;left:0;"/>')

})

function imgClick(){

alert(1)

}

</script>

这个时候img标签会有一个点击运行imgClick()方法的事件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息