朋友们,好久没更了。。。 这次,我想跟你们分享下我对js事件的一些不一样的运用。 我是一个一直很懒于用jquery插件的人,引入他呢作用不大,不引入又有点痒,尤其是trigger方法,我一度觉得它的完美,但是又不想使用jQuery,于是,我区参考了JavaScript的事件机制。 研究发现,使用js也可以完美得自创trigger方法!!
now, 切入正文,前面太罗嗦了
document.CreateEvent(type); 这个方法是DOM的创建事件的接口 通过这个方法,我们可以创建自己想要的事件,包括鼠标事件
代码是这样的
// 创建鼠标事件/自定义事件 to(模仿jquery trigger('click');)
// params :
// eventType {mouseEvent: 鼠标事件,Event: 自定义事件}
// eventName 事件名称
function imitatEvent(EventType, EventName) {
var event = document.createEvent(EventType);
event.initEvent(EventName, true, true);
return event;
}
前面写了一个创建事件的接口,接下来,我们就来使用这个接口
var event = imitatEvent('Event', 'redux')
var event2 = imitatEvent('MouseEvents', 'click');
然后,我们可以触发我们的事件了
// element2 为任何dom元素
element2.dispatchEvent(event);
element2.dispatchEvent(event2);
想看到变化的话,去监听这两个事件看下, 需在dispatchEvent前头定义
// 监听事件
element2.addEventListener('redux', function(event) {
console.log(11111, event.type);
});
element2.addEventListener('click', function() {
console.log(2222, event2.type);
});
就是这样的啦!
如果朋友们有更好的方法,或者觉得这个又需要修改的方法,请给我留言,我在看见后会回复的。