最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jQuery.trigger()触发hover等事件问题的解决办法分享

来源:动视网 责编:小采 时间:2020-11-27 20:18:35
文档

jQuery.trigger()触发hover等事件问题的解决办法分享

jQuery.trigger()触发hover等事件问题的解决办法分享:对于Trigger的用法也百度了解过,目的为了在匹配的元素上触发制定的事件,但是对于这个解释还是模棱两可,下面请帮忙看下代码这是一个基本的焦点轮播图的js代码 $(".scroll").mouseenter(function() { if(adTimer){ clear
推荐度:
导读jQuery.trigger()触发hover等事件问题的解决办法分享:对于Trigger的用法也百度了解过,目的为了在匹配的元素上触发制定的事件,但是对于这个解释还是模棱两可,下面请帮忙看下代码这是一个基本的焦点轮播图的js代码 $(".scroll").mouseenter(function() { if(adTimer){ clear


对于Trigger的用法也百度了解过,目的为了在匹配的元素上触发制定的事件,但是对于这个解释还是模棱两可,下面请帮忙看下代码

这是一个基本的焦点轮播图的js代码

 $(".scroll").mouseenter(function() { if(adTimer){
 clearInterval(adTimer);
 }
 }).mouseleave(function(event) {
 adTimer =setInterval(function(){
 showImg(index); index++; if (index==len) {index=0;};
 },3000);
 }).trigger('mouseleave');

悬停图片时候clearinterval,离开图片时触发setinterval

但是关于最后一句.trigger('mouseleave')实在不明白含义,只知道为了实现开启网页就自动触发计时器,让轮播图开启切换,而不是等待Mouseleave后再触发事件。

主要的疑问就是在Trigger身上,以及在这里是如何实现的?谢谢各位大神了

应该是类似初始化的意思,他写成链式的了。整个代码的逻辑是:1.绑定鼠标进入时间;2.绑定鼠标离开事件;3.触发一次鼠标离开事件,即初始化执行setInterval。
这种写法我个人是不大推荐的。我会这样写:

// 对象变量var $scroll = $('.scroll'),
 adTimer = null;// 事件绑定$scroll.on({ 'mouseenter.scroll': function (e) {
 e.preventDefault(); // 清除计时
 if (adTimer) {
 clearTimeout(adTimer);
 }
 }, 'mouseleave.scroll': function (e) {
 e.preventDefault(); // 开始计时
 adTimer = setTimeout(function () { // 执行其他逻辑
 // ····
 }, 3000);
 }
});// 初始化$scroll.trigger('mouseleave.scroll');
 $(".scroll").mouseenter(function() { if(adTimer){
 clearInterval(adTimer);
 }
 }).mouseleave(function(event) {
 adTimer =setInterval(function(){
 showImg(index);
 index++; if (index==len) {index=0;};
 },3000);
 });
 $(".scroll").trigger('mouseleave');

我觉得这样,你会更明白

trigger就是不需要你处发生事件,自动执行事件啊。自定义事件,就得用trigger来触发了。

文档

jQuery.trigger()触发hover等事件问题的解决办法分享

jQuery.trigger()触发hover等事件问题的解决办法分享:对于Trigger的用法也百度了解过,目的为了在匹配的元素上触发制定的事件,但是对于这个解释还是模棱两可,下面请帮忙看下代码这是一个基本的焦点轮播图的js代码 $(".scroll").mouseenter(function() { if(adTimer){ clear
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top