javascript 触发事件-javascript触发模拟鼠标点击风暴

2023-08-26 0 7,733 百度已收录

风暴触发器用于在某个元素触发某种风暴,IE下有fireEvent方法,中间浏览器(chrome、firefox等)有dispatchEvent技术。

通常,我们在元素绑定了storm之后,是依靠用户在这个元素上的键盘行为来捕获或者触发storm,或者是浏览器内置的行为storm,比如点击javascript 触发事件,mouseover,load等,有时侯我们需要自定义风暴或者需要在某些情况下触发这些风暴。 这时我们可以在IE下使用fireEvent方法,中间浏览器(chrome、firefox等)都有dispatchEvent方法。

例如,看看 ie 下的这个例子:

//document上绑定自定义事件ondataavailable
document.attachEvent('ondataavailable', function (event) {
alert(event.eventType);
});
var obj=document.getElementById("obj");
//obj元素上绑定click事件
obj.attachEvent('onclick', function (event) {
alert(event.eventType);
});
//调用document对象的createEventObject方法得到一个event的对象实例。
var event = document.createEventObject();
event.eventType = 'message';
//触发document上绑定的自定义事件ondataavailable
document.fireEvent('ondataavailable', event);
//触发obj元素上绑定click事件
document.getElementById("test").onclick = function () {
obj.fireEvent('onclick', event);
};

fireEvent 官方文档

createEventObject官方文档

我们来看一下中级浏览器(chrome、firefox等)的例子:

//document上绑定自定义事件ondataavailable
document.addEventListener('ondataavailable', function (event) {
alert(event.eventType);
}, false);
var obj = document.getElementById("obj");
//obj元素上绑定click事件
obj.addEventListener('click', function (event) {
alert(event.eventType);
}, false);
//调用document对象的 createEvent 方法得到一个event的对象实例。
var event = document.createEvent('HTMLEvents');
// initEvent接受3个参数:
// 事件类型,是否冒泡,是否阻止浏览器的默认行为
event.initEvent("ondataavailable", true, true);
event.eventType = 'message';
//触发document上绑定的自定义事件ondataavailable
document.dispatchEvent(event);
var event1 = document.createEvent('HTMLEvents');
event1.initEvent("click", true, true);
event1.eventType = 'message';
//触发obj元素上绑定click事件
document.getElementById("test").onclick = function () {
obj.dispatchEvent(event1);
};

实际的包装中并没有那么简单。 我看了一下 jQuery.event.trigger

它是通过仿真来实现的。 将风暴处理函数绑定到元素。 如果有实际操作触发风暴,则会执行相应的风暴处理函数。 因此,要实现风暴触发的功能,只需要获取相应的风暴处理函数即可。 实施。

以上就是本文的全部内容javascript 触发事件,希望对您的学习有所帮助,也希望您多多支持我们。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 触发事件-javascript触发模拟鼠标点击风暴 https://www.wkzy.net/game/158533.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务