举例代码如下:
<script>
var a=1;
for(var i=0;i<7;i++){
var input=document.createElement("input");
input.className="cd";
input.value="查看详情";
input.type="button";
}
</script>
这时想要为input标签添加一个点击事件,查找资料得知:
不可行方案:
1.使用JQuery的live方法 但是在jquery新版本中这个方法被移除
$(
"input"
).live(
"click"
,
function
(){
//do something here
});
2.使用JQuery的on方法, 但是html生成后,点击后的效果并不是预想的(比如回调函数只是进行一次弹窗,点击后会弹窗三次) 具体没有细究,总之没有达到预想的效果
$(
"#testdiv ul"
).on(
"click"
,
"li"
,
function
() {
//do something here
});
3.jquery的click方法
$('input').click(function(){}) 没反应
可行方案:
1.input.setAttribute("onclick", "a()");
2.input.addEventListener("click", a, false);(IE不支持,用IE要改成input.attachEvent("onclick", a);)
3.如果想访问该事件本身的元素的属性:
$('<input type="checkbox" οnclick="selectBox(event)" value="1"/>')
function selectBox(event){ var e=event||window.event; alert(e.target.value); }