JS动态给对象添加事件的简单方法

JS动态给对象添加事件的简单方法,第1张

WEB项目中,我们常常会碰到要动态对相应的对象添加事件,如下,有id="txtPrice"的文本框控件:

<div>

<input

type="text"

id="txtPrice"

name

=

"txtPrice"

value

=

"0"/>

<div>

现在我们为其动态添加一事件,JS核心代码如下:

document.getElementById("txtPrice").attachEvent('onblur',

function

(){alert('添加事件成功!')})

【补充】

有时候为了实现不同浏览器之前的兼容,我们会这样写:

Code

highlighting

produced

by

Actipro

CodeHighlighter

(freeware)http://www.CodeHighlighter.com/-->1

if(window.attachEvent)

{

document.getElementById("txtPrice").attachEvent('onblur',

function

(){alert('添加事件成功!')})

}

else

{

document.getElementById("txtPrice").addEventListener('onblur',

function

(){alert('添加事件成功!')},false)

}

以上这篇JS动态给对象添加事件的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

<input type="text" id="a" />

<input type="button" id="b" value="click" />

<script type="text/javascript">

var a = document.getElementById('a')

var b = document.getElementById('b')

b.onclick = function(){

setTimeout(function(){

a.value += "A"

},300)

}

</script>

给点击事件加个延时。

<script language="javascript">

onload=a

function a(){

var tds = document.getElementsByTagName("TD")

for(var i=0i<tds.lengthi++){

var td = tds[i]

td.setAttribute("onclick",function(){b(td)})

}

}

function b(td){

var id = td.innerText

alert(id)

}

</script>

<script language="javascript">

onload=a

function a(){

var tds = document.getElementsByTagName("TD")

for(var i=0i<tds.lengthi++){

var td = tds[i]

td.onclick=function(){b(td))}

}

}

function b(td){

var id = td.innerText

alert(id)

}

</script>

诶呀,我也没测试。对dom绑事件好像有两种吧,另一个是addEventListener,为了兼容两种都要写的。这个兼容代码很多,楼主自己去找吧。我现在用jquery都用废了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11360418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存