每当窗口调整大小时,如何停止调整内部函数的大小调整事件?

时间:2017-06-09 13:52:05

标签: javascript jquery resize

每当我调整窗口大小时,每次都会创建此函数:

$('。。cookie_box .accept')。点击(function(){

所以我必须以某种方式定义调整大小?并使用它,它会是什么样的?

   $(window).on('load resize',function() {
      $('.cookie_box .accept').click(function(){
        //whatever code
      });
   });

1 个答案:

答案 0 :(得分:0)

此代码:

$(window).on('load resize',function() {
  $('.cookie_box .accept').click(function(){
    //whatever code
  });

});

表示:为每个窗口调整大小或窗口加载创建一个单击事件处理程序。它足以创建一个单击事件处理程序。为了实现此结果,您可以使用.one()代替.on()

另一种方法可以基于: .trigger( eventType [, extraParameters ] )

演示:



$('.cookie_box .accept').click(function(e, triggeredFromLoadResize){
    if (triggeredFromLoadResize === undefined) {
        console.log('Click event coming from: window load resize')
    } else {
        console.log('Normal click');
    }
    //whatever code
});
$(window).on('load resize',function() {
    $('.cookie_box .accept').trigger('click', [ "Custom_Event" ])
});

$('.cookie_box .accept').trigger('click');


//
//  your click handler
//
$(window).on('load resize',function() {
      $('.cookie_box .accept').click(function(){
        console.log('Your click handler');
      });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div class="cookie_box">
    <button type="button" class="accept">accept</button>
</div>
&#13;
&#13;
&#13;