有没有碰到过这样的情况,在一个别人的页面上,你想为某个按钮加入自己的控制逻辑,满足条件的情况下才执行原有的事件方法呢?

这个时候在不能修改其原有方法的情况下,先获取控件的事件方法,并将其包装到自己的控制方法里面,然后再重置控件的事件方法为

自己定义的这个方法,这样就可以解决问题了。

PS:如果使用的是live或者delegate绑定的事件,就需要找到对应的绑定到的container对象,live默认是document,否则会失败。

主要的控制方法:

function RideControlEvent(eid,Fun)
{var C=$("#"+eid).data("events").click;var CL=C.length;var CArr=new Array();for(var i=0;i<CL;i++){CArr[i]=C[i].handler;}CArr[CL]=$("#"+eid)[0].onclick;$("#"+eid).unbind("click");$("#"+eid)[0].οnclick=function(){}var covclock=function(){if(Fun()){CArr[CL]();for(var i=0;i<CL;i++){CArr[i]();}}else{return;}}$("#"+eid)[0].οnclick=covclock;
}

测试方法:

function onload()
{$("#T").click(function(){alert("Bind Event 1.");});$("#T").click(function(){alert("Bind Event 2.");});var myhandler=function (){alert("Outer Control Envet. The Master.");return true;}RideControlEvent("T",myhandler);           }

 

html部分: 

<body οnlοad="onload()"><input name="T" id="T" type="button" value="TTT" style="" οnclick="alert('Hard Code Event.')"/>
</body>

  

有没有其他的更好的方法或者写法能够实现同样的功能的,欢迎评论分享。

 

转载于:https://www.cnblogs.com/wancy86/p/jsEventRide.html

js在控件原有的事件方法中加入自己的方法相关推荐

  1. pythonxml解析拿到控件坐标_Python解析xml中dom元素的方法

    本文实例讲述了Python解析xml中dom元素的方法.共享给大家供大家参考.详细实现方法如下: 复制代码 代码如下: from xml.dom import minidom try: xmlfile ...

  2. 为.net中的ListBox控件添加双击事件

    我在用dotnet做一个项目的过程中,遇到了一个ListBox的问题:通过在一个ListBox中双击,把选中的项添加到另一个ListBox中,但ListBox控件本身并没有该事件,那么如何实现呢?我就 ...

  3. [习题].FindControl()方法 与 PlaceHolder控件 #2(动态加入「子控件」的事件)

    这是我的文章备份,有空请到我的网站走走, http://www.dotblogs.com.tw/mis2000lab/ 才能掌握我提供的第一手信息,谢谢您. http://www.dotblogs.c ...

  4. js设置控件的隐藏与显示的两种方法

    js设置控件的隐藏与显示的两种方法: js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了. 用JavaScript隐藏控件的方法有两种,分别是通过设置控件的 ...

  5. C#中combobox 控件属性、事件、方法

    http://blog.csdn.net/baggio7095586/article/details/6150075 一 .combobox 属性.事件.方法 公共属性 名称  说明 Accessib ...

  6. video 元素自定义 controls 控件以及常用事件、方法

    video 元素自定义 controls 控件以及常用事件 属性参考 隐藏控件 隐藏播放器右下角三个点 自定义播放速度 阻止默认的全屏和暂停 自定义全屏播放 常用事件 常用属性和方法 <vide ...

  7. 2023-02-24 Android app java 模拟控件点击事件,使用performClick方法去实现

    一.Android app java 模拟控件点击事件,使用performClick方法去实现. 二.实际使用 private TextView m_bt_connect ;m_bt_connect ...

  8. 关于js调用ocx控件报错对象不支持此属性或方法的解决方法

    在web中用js调用ocx时有两种方法,第一种,动态调用: 1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1") ...

  9. vb检测html事件,VB代码VB小程序:捕获 WebBrowser 控件的鼠标事件

    49. 捕获 WebBrowser 控件的鼠标事件 VB 的网页浏览控件 WebBrowser 没有 MouseDown.MouseMove.MouseUp 等鼠标事件,要在程序中捕获这些事件,必须另 ...

最新文章

  1. 主流手机分辨率 尺寸 操作系统
  2. dingo php,dingo 配置
  3. B站一键BV号转AV号PHP单页源码
  4. linux vim个人配色方案
  5. office visio 替代_5款替代微软Visio的开源免费软件
  6. 塑料成型计算机模拟技术,塑料成型模拟软件技术基础与应用
  7. 哲学家就餐问题python伪代码_哲学家就餐问题代码
  8. 数据库原理及应用-李唯唯主编-实验3-3
  9. 《结对-四则运算出题器-测试过程》
  10. Towards Enhancing Fine-grained Details for Image Matting
  11. 叉叉助手开发环境安卓版_按键精灵安卓版零基础系列教程基础环境知识讲解
  12. 超短波视距通信极限距离计算公式
  13. js 公历日期转农历带节假日
  14. Git 撤销已提交的文件
  15. 要成为游戏开发人员需要有以下书籍(二)
  16. 如何使用 JS 破解轻量级滑块验证码
  17. 超实用:关于Java异常设计和处理
  18. kubernets 学习记录
  19. android中handler机制,如何使用?,Android中的Handler机制
  20. 【240期】面试官问:说说基于 Redis 实现延时队列服务?

热门文章

  1. html金额自动换算成大写,[求助]word文档中金额数字自动转换为大写
  2. debug内exe文件复制到桌面无法打开_Qt打包生成exe步骤和无法定位程序输入点_gxx_personality_v0于动态链接库...
  3. allegropcb怎么导出成cad_私藏技巧分享!CAD中的表格坐标快速输出成Excel!
  4. python flask restful入门_Python Flask高级编程之RESTFul API前后端分离精讲
  5. python中分支结构包括哪些_Python分支结构(switch)操作简介
  6. 中psr_典型电路—电容10UF 和0.1UF并联使用的技巧常见于电源电路中,你知道其中的原理吗?...
  7. 【5分钟系列】搭建基于docker环境搭建下springboot-mysql项目框架
  8. MySQLWorkbench里的稀奇事之timestamp的非空默认值
  9. Pandas 表格样式设置指南,看这一篇就够了!
  10. Python的3种字符串格式化,做个超全对比!