js在控件原有的事件方法中加入自己的方法
有没有碰到过这样的情况,在一个别人的页面上,你想为某个按钮加入自己的控制逻辑,满足条件的情况下才执行原有的事件方法呢?
这个时候在不能修改其原有方法的情况下,先获取控件的事件方法,并将其包装到自己的控制方法里面,然后再重置控件的事件方法为
自己定义的这个方法,这样就可以解决问题了。
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在控件原有的事件方法中加入自己的方法相关推荐
- pythonxml解析拿到控件坐标_Python解析xml中dom元素的方法
本文实例讲述了Python解析xml中dom元素的方法.共享给大家供大家参考.详细实现方法如下: 复制代码 代码如下: from xml.dom import minidom try: xmlfile ...
- 为.net中的ListBox控件添加双击事件
我在用dotnet做一个项目的过程中,遇到了一个ListBox的问题:通过在一个ListBox中双击,把选中的项添加到另一个ListBox中,但ListBox控件本身并没有该事件,那么如何实现呢?我就 ...
- [习题].FindControl()方法 与 PlaceHolder控件 #2(动态加入「子控件」的事件)
这是我的文章备份,有空请到我的网站走走, http://www.dotblogs.com.tw/mis2000lab/ 才能掌握我提供的第一手信息,谢谢您. http://www.dotblogs.c ...
- js设置控件的隐藏与显示的两种方法
js设置控件的隐藏与显示的两种方法: js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了. 用JavaScript隐藏控件的方法有两种,分别是通过设置控件的 ...
- C#中combobox 控件属性、事件、方法
http://blog.csdn.net/baggio7095586/article/details/6150075 一 .combobox 属性.事件.方法 公共属性 名称 说明 Accessib ...
- video 元素自定义 controls 控件以及常用事件、方法
video 元素自定义 controls 控件以及常用事件 属性参考 隐藏控件 隐藏播放器右下角三个点 自定义播放速度 阻止默认的全屏和暂停 自定义全屏播放 常用事件 常用属性和方法 <vide ...
- 2023-02-24 Android app java 模拟控件点击事件,使用performClick方法去实现
一.Android app java 模拟控件点击事件,使用performClick方法去实现. 二.实际使用 private TextView m_bt_connect ;m_bt_connect ...
- 关于js调用ocx控件报错对象不支持此属性或方法的解决方法
在web中用js调用ocx时有两种方法,第一种,动态调用: 1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1") ...
- vb检测html事件,VB代码VB小程序:捕获 WebBrowser 控件的鼠标事件
49. 捕获 WebBrowser 控件的鼠标事件 VB 的网页浏览控件 WebBrowser 没有 MouseDown.MouseMove.MouseUp 等鼠标事件,要在程序中捕获这些事件,必须另 ...
最新文章
- 主流手机分辨率 尺寸 操作系统
- dingo php,dingo 配置
- B站一键BV号转AV号PHP单页源码
- linux vim个人配色方案
- office visio 替代_5款替代微软Visio的开源免费软件
- 塑料成型计算机模拟技术,塑料成型模拟软件技术基础与应用
- 哲学家就餐问题python伪代码_哲学家就餐问题代码
- 数据库原理及应用-李唯唯主编-实验3-3
- 《结对-四则运算出题器-测试过程》
- Towards Enhancing Fine-grained Details for Image Matting
- 叉叉助手开发环境安卓版_按键精灵安卓版零基础系列教程基础环境知识讲解
- 超短波视距通信极限距离计算公式
- js 公历日期转农历带节假日
- Git 撤销已提交的文件
- 要成为游戏开发人员需要有以下书籍(二)
- 如何使用 JS 破解轻量级滑块验证码
- 超实用:关于Java异常设计和处理
- kubernets 学习记录
- android中handler机制,如何使用?,Android中的Handler机制
- 【240期】面试官问:说说基于 Redis 实现延时队列服务?
热门文章
- html金额自动换算成大写,[求助]word文档中金额数字自动转换为大写
- debug内exe文件复制到桌面无法打开_Qt打包生成exe步骤和无法定位程序输入点_gxx_personality_v0于动态链接库...
- allegropcb怎么导出成cad_私藏技巧分享!CAD中的表格坐标快速输出成Excel!
- python flask restful入门_Python Flask高级编程之RESTFul API前后端分离精讲
- python中分支结构包括哪些_Python分支结构(switch)操作简介
- 中psr_典型电路—电容10UF 和0.1UF并联使用的技巧常见于电源电路中,你知道其中的原理吗?...
- 【5分钟系列】搭建基于docker环境搭建下springboot-mysql项目框架
- MySQLWorkbench里的稀奇事之timestamp的非空默认值
- Pandas 表格样式设置指南,看这一篇就够了!
- Python的3种字符串格式化,做个超全对比!