js 动态添加的按钮 onclick事件怎么写?

js 动态添加的按钮 onclick事件怎么写?,第1张

如图,比方说我有一个函数,而我们需要点击按钮触发指定的函数,这就用到了绑定事件的方法。

如图,假定是点击事件,则在按钮里面添加onclick=函数名即可把函数绑定到按钮上。onclick绑定的是单击事件哦,当然还有很多其他的事件。

如图,绑定事件之后,当我们点击按钮即可触发绑定的函数,非常神奇哦。

当然,也可以给按钮设定一个ID,然后我们获取到带有ID的按钮。

然后在JavaScript中绑定事件也是可以的,这种方法代码比较多,想用哪种看你自己哦。

需要特别注意一点的是,如果用了第二种方法,当要获取id时,如果script脚本写在head里面,则要加上window.onload哦。如果是写在body后面,则不需要写window.onload。

这个很简单 如果楼主有jq只需要

$(document).on("click","a",function(){

alert("我是被监听的a标签")

})

如果楼主没有引入jq 那么下面给楼主写一份原生js监听

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<script type="text/javascript">

//添加事件可以使用addEventListener 或者 attachEvent下面使用传统事件添加 

document.onclick=function(){

var e=null

if(window.event){

e=window.event

}else if(event){

e=event

}else{

e=arguments.callee.argument[0]

}

//获取事件目标

var target=null

if(e.target){

target=e.target

}else{

target=e.srcElement

}

if(target.nodeName.toUpperCase()=="A"){

alert("我是被监听的A标签")

}

}

var a=document.createElement("a")

a.innerHTML="我想被监听"

document.body.appendChild(a)

</script>

</body>

</html>

用闭包来解决就ok了,了解一下闭包吧!

cookie_str = cookies[j]["name"]在循环中这样用是不行的,j是引用,循环结束之后j的结果都是一样的,所有你永远得到的是最后一个,因为引用指向本来就是最后一个!

要解决这个问题,就要让j立即被运算出新结果,而不是留待上下文引用

这样试试:

cookie_str = (function(n){var fun=function(){return cookies[n]["name"]}return fun()})(j)

cookie_ = (function(n){var fun=function(){return cookies[n]}return fun()})(j)

或者这样:

cookie_str = eval('cookies['+j+']["name"]')

cookie_ = eval('cookies['+j+']')


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

原文地址:https://54852.com/bake/11535319.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存