triggerHandler写法怎么理解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 这里的写法以前从来没接触过,请问怎么理解,还有这里的triggerHandler的作用是什么? wrap .on( 'move_prev' , function (){ if (current<=0){ current = size; } current = current - 1 ; wrap.triggerHandler( 'move_to' ,current); }) .on( 'move_next' , function (){ if ( current >= size-1){ current = -1; } current = current + 1 ; wrap.triggerHandler( 'move_to' ,current); }) .on( 'move_to' , function (evt,index){ wrap.css( 'left' ,index*width*-1); tips.removeClass( 'item_focus' ).eq(index).addClass( 'item_focus' ); }) .on( 'auto_move' , function (){ setInterval( function (){ enableAuto && wrap.triggerHandler( 'move_next' ); },2000); }) .triggerHandler( 'auto_move' ); // 事件 btn_prev.on( 'click' , function (){ wrap.triggerHandler( 'move_prev' ); }); btn_next.on( 'click' , function (){ wrap.triggerHandler( 'move_next' ); }); tips.on( 'click' , function (){ var index = $( this ).index(); wrap.triggerHandler( 'move_to' ,index); }) } |
6
收起
正在回答 回答被采纳积分+1
2回答
慕函数3468989
2018-10-12 14:11:53
请问能通俗一点回答吗,不是很懂
妮可妮可妮_
2018-10-12 14:09:11
wrap.on('move_prev', function() {}) 这种写法是事件代理的形式,事件代理就是把自己的事件给父元素,让他帮忙调用。因为子元素可能是我们从js中添加dom元素的,dom中本来就没有写,所以当页面没有加载完的时候,直接给子元素调用事件就会报错,说找不到这个元素。所以要用代理的形式给父元素。
triggerHandler() 方法触发被选元素的指定事件类型。但不会执行浏览器默认动作, 比如表单提交,也不会产生事件冒泡.只影响第一个匹配元素。
语法:$(selector).triggerHandler(event,[param1,param2,...])
祝学习愉快!
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧