WEB开发网      濠靛倻鏅悵顖涚附閽樺鐎诲ù婊庡亾缁辨帗鎷呴悩鍨暠濞戞挴鍋撳ù鐘烘閸ㄥ孩绂嶉锝喰﹂柟瀛樺灣濠婃垿鎯冮崟顏嗩伇濞寸姾妫勬慨鈺呭礉濞戝磭骞㈤悹鍥у槻閸ㄥ孩绂嶉敓锟� ---闁挎洩鎷�
开发学院网页设计JavaScript Javascript公共脚本库系列(三): 格式化事件对象/事... 阅读

Javascript公共脚本库系列(三): 格式化事件对象/事件对象详解

 2010-09-14 13:40:15 来源:WEB开发网 闁靛棴鎷�闁告垵绻愰惃顒傗偓娑欍仦缂嶏拷濠⒀呭仜閵囧洨鈧稒銇炵紞锟�闁靛棴鎷�  闁稿繗娅曢弫鐐垫嫬闁垮鈧秹鏌ㄧ€靛憡鐣辩€甸偊鍠栧畷锟�
核心提示: 四.实现代码 我们的ScriptHelper类又要添加两个新方法了:/*获取事件对象使用举例: <div onclick=" var oEvent=ScriptHelper.getEvent();"></div>注意事项: 只能在事件中使用. 比

四.实现代码

我们的ScriptHelper类又要添加两个新方法了:

/* 获取事件对象
  使用举例: <div onclick=" var oEvent=ScriptHelper.getEvent();"></div>
  注意事项: 只能在事件中使用. 比如onclick中. 不能在自定义方法中使用. 
*/
scriptHelper.prototype.getEvent = function()
{
  if( window.event )
  {
    return window.event;
  }
  else
  {    
    return this.getEvent.caller.arguments[0];
  }
}
/* 取消冒泡事件
  使用举例: <div onclick=" var oEvent=ScriptHelper.cancelBubble();"></div>
  注意事项: 只能在事件中使用. 比如onclick中. 不能在自定义方法中使用.
*/
scriptHelper.prototype.cancelBubble = function()
{
  if( window.event )
  {
    window.event.cancelBubble = true;
  }
  else
  {    
    return this.cancelBubble.caller.arguments[0].cancelBubble = true;
  }
}

这两个方法十分简单.getEvent 用于获取事件对象. cancelBubble和getEvent类似,但不是返回事件对象, 而是取消事件对象的冒泡事件.

也许有人会觉得getEvent 和cancelBubble中有重复代码,认为可以在cancelBubble中调用getEvent 获取事件对象,然后再取消冒泡事件. 然而不能这么做, 这两个事件都只能用在事件处理函数中, cancelBubble已经是一个自定义方法, 不能在自定义方法中使用getEvent .原因是在DOM事件中,事件对象是事件的唯一参数.对于FireFox我们是通过caller.arguments[0]来捕获事件对象,caller表示此方法的调用者, 必须为事件. 下文中还有对于事件参数的讲解.

上一页  1 2 3 4 5  下一页

Tags:Javascript 公共 脚本

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接