if(ob.onchange))
ob.onchange();
if(ob.onclick))
ob.onclick();
/**
* Event.simulate(@element, eventName[, options]) -> Element
*
* - @element: element to fire event on
* - eventName: name of event to fire (only MouseEvents and HTMLEvents interfaces are supported)
* - options: optional object to fine-tune event properties - pointerX, pointerY, ctrlKey, etc.
*
* $('foo').simulate('click'); // => fires "click" event on an element with id=foo
*
**/
(function(){
var eventMatchers = {
'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,
'MouseEvents': /^(?:click|mouse(?:down|up|over|move|out))$/
}
var defaultOptions = {
pointerX: 0,
pointerY: 0,
button: 0,
ctrlKey: false,
altKey: false,
shiftKey: false,
metaKey: false,
bubbles: true,
cancelable: true
}
Event.simulate = function(element, eventName) {
var options = Object.extend(defaultOptions, arguments[2] || { });
var oEvent, eventType = null;
element = $(element);
for (var name in eventMatchers) {
if (eventMatchers[name].test(eventName)) { eventType = name; break; }
}
if (!eventType)
throw new SyntaxError('Only HTMLEvents and MouseEvents interfaces are supported');
if (document.createEvent) {
oEvent = document.createEvent(eventType);
if (eventType == 'HTMLEvents') {
oEvent.initEvent(eventName, options.bubbles, options.cancelable);
}
else {
oEvent.initMouseEvent(eventName, options.bubbles, options.cancelable, document.defaultView,
options.button, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, element);
}
element.dispatchEvent(oEvent);
}
else {
options.clientX = options.pointerX;
options.clientY = options.pointerY;
oEvent = Object.extend(document.createEventObject(), options);
element.fireEvent('on' + eventName, oEvent);
}
return element;
}
Element.addMethods({ simulate: Event.simulate });
})()
分享到:
相关推荐
《通信系统原理模拟》这本书是通信工程与新兴技术系列中的一部重要著作,由William H. Tranter, K. Sam Shanmugan, Theodore S. Rappaport, Kurt L. Kosbar四位专家共同编著。书中深入探讨了通信系统的模拟方法,...
《通信系统原理模拟》是通信工程领域中一个重要的学习资源,尤其对于理解通信系统的运作机制具有极大的帮助。这个源码库包含了一系列用于模拟通信系统的程序,可以帮助学习者深入理解信号处理、编码、调制和解调等...
SMS系统模拟器,包括手机模拟器和短信中心服务器模拟器。 客户端软件,模拟手机通过网络socket向另一个手机用户发送短消息。 每个客户端手机用一个手机号码,用IP+端口标识,短信服务中心服务器接收短信,排队帮你...
平流层卫星轨道控制建模与仿真Stratospheric satellite orbit modeling and simulation of control
Solar PV Model Simulation file matlab
基于USRP的FM调制解调程序,连接设备配置好后可直接运行
对其它几种常用的FACTS器件也设计了阻尼控制器,并同样通过了PSASP下的仿真验证,阻尼效果很好。
在IT行业中,支付网关是在线交易的核心组成部分,它连接商家和消费者,处理付款信息,确保交易的安全性和合法性。这个名为"payment-gateway-simulation"的项目提供了多种编程语言实现的支付网关模拟器,旨在帮助...
在MATLAB环境中,"switch_case_simulation"是一个基于开关箱概念的模拟程序,旨在帮助用户理解和设计复杂的控制逻辑。MATLAB是一种强大的多用途编程环境,特别适用于数值计算、数据分析和算法开发,同时也支持系统...
Fiber nonlinearity limits the use of coherent optical orthogonal frequency division multiplexing (CO-OFDM) to upgrade wavelength-division multiplexing (WDM) systems using legacy non-return... The simulat
数学建模是应用数学解决实际问题的重要方法,它将复杂的现实问题抽象成数学模型,然后通过求解模型来获得解决方案。在"数学建模基本模型.zip"这个压缩包中,很显然,它包含了用于数学建模竞赛,如“数模国赛”(全国...
在本文中,我们将深入探讨CIC(积分梳状滤波器)在Simulink环境中的应用,以及如何通过Simulink构建和仿真这种滤波器。CIC滤波器是一种特殊的数字滤波器,广泛应用于通信系统、信号处理和数据采集等领域,因其简单的...
Qt是著名的跨平台应用程序开发框架,特别适合用于创建桌面、移动和嵌入式系统的用户界面。在游戏开发领域,Qt3D提供了一种强大的3D图形渲染和场景管理能力,使得开发者可以构建复杂的3D应用和游戏。...
tencentopenapi.framework示例,tencentopenapi.framework基本用法
ELM327是汽车诊断接口的标准协议转换器,它通过蓝牙连接允许用户与车辆的OBD-II(On-Board Diagnostics II)系统进行通信。这个2014-10-23ELM327蓝牙OBD应用软件及说明的资料包,主要包含了关于如何使用ELM327设备...
bacnetsimulator_5.0.20_1bacnetsimulator_5.0.20_1.exe
允许测试各种反馈how叫检测方法和各种反馈how叫消除方法的有效性。 该代码分为三个主要部分: 模拟 主要的重叠/叠加卷积过程旨在引起虚拟声反馈啸声的逼真的积累。 输入: 包含以下字段的结构: simulation.IR :...
移动样本标准差 计算数值数组上的移动(滑动窗口)样本标准偏差。安装$ npm install compute-mstdev 要在浏览器中使用,请使用 。用法要使用该模块, var mstdev = require ( 'compute-mstdev' ) ;...// Simulat
ChatNote应用 :speech_balloon: :memo: 应用聊天和记笔记 :sparkles: 介绍: 当我担任餐厅经理时,...要获取有关iOs模拟器的演示:请下载Xcode应用程序,然后执行以下步骤:选择Xcode> Open Developer Tool> Simulat
[2] Pham Luu Trung Duong , Moonyong Lee,“使用谱方法在随机分数阶过程中的不确定性传播:混合方法”,Commun Nonlinear Sci Numer Simulat 17, 4262-4273 (2012) [3] 车恩赫基六世。 非线性控制系统的分析精度...