javascript怎么在函数被调用后,通过触发事件把调用的函数取消掉吗

JavaScript011

javascript怎么在函数被调用后,通过触发事件把调用的函数取消掉吗,第1张

如果aaa()函数是通过setTimeout调用的,那么可以用clearTimeout取消:

调用:var x = setTimeout("aaa()",1000)

取消:clearTimeout(x)

注意,变量x必须是全局的

移除一个函数  直接给他重命名即可//例如你有一个函数叫做SayHello

function SayHello(){

alert('hello world')

}

console.log(SayHello)//输出函数对象

//删除函数

var SayHello = null

console.log(SayHello)//输出null;SayH

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库( 或JavaScript框架)。

jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的模块可以分为:入口模块、底层支持模块和功能模块。其核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

第一个例子是为元素注册一个事件:

Behaviour.register({'#exampleli':function(e){ e.onclick=function(){ this.parentNode.removeChild(this)} } })

他认为应该改写为:

$('#exampleli').bind('click',function(){ this.parentNode.removeChild(this)})第二个例子是为不同的元素注册不同的事件: Behaviour.register({'b.someclass':function(e){ e.onclick=function(){ alert(this.innerHTML)} },'#someidu':function(e){ e.onmouseover=function(){ this.innerHTML="BLAH!"} } })

他认为应该改写为:

$('b.someclass').bind('click',function(){ alert(this.innerHTML)})$('#someidu').bind('mouseover',function(){ this.innerHTML='BLAH!'})

第三个例子是为不断变化的元素注册不同的事件:

Behaviour.register({'#fooolli':function(a){ a.title="ListItems!"a.onclick=function(){alert('Hello!')}},'#fooolli.tmp':function(a){ a.style.color='white'},'#fooolli.tmp.foo':function(a){ a.style.background='red'} })

他认为应该改写为:

$('#fooolli') .set('title','ListItems!') .bind('click',function(){alert('Hello!')}) .select('.tmp') .style('color','white') .select('.foo') .style('background','red')