有2种方式实现,下面详细介绍,这是测试页面测试页面
1、不用jQuery的方式
框起来的3处都是不用jQuery实现的只触发一次的效果。核心代码是这句
btn.onclick = null
就是click事件被执行的时候,让它把这个事件本身给清空。
2、用jQuery的方式
jQuery专门为此功能提供了一个函数one。
这样写就能让click这个事件只执行一次。
$("#btn3").one('click',function(){
alert('jQuey的one函数,第1次点击')
})
按回车之所以会再次创建是因为,你点击按钮的时候把焦点也弄到按钮上了,如果只是希望不安回车。那么用blur()事件,把焦点失去就可以了,或者focus()到另一个按钮上。
如果你只是想要执行一次,那么你可以加一个公共变量当做锁。当这个变量为ture的时候,函数可以执行,函数执行一次的时候,设置这个变量为false。这样第二次就不执行了。
var mylock= turefunction myclickfun(){
if(mylock==ture){
mylock = false
//这里写你需要的创建div的代码
}
}