触发更改事件,条件jquery除外

时间:2013-03-22 19:33:24

标签: javascript jquery

$('#query_txt').change(function() {
  return window.location = $('#query_txt').data('url') + '/searches?query=' + $('#query_txt').val();
});

在输入字段#query_txt

上进行更改时会触发此事件

但是我想执行此代码,除非用户点击此链接:

<a href="#" onclick="return false;" class="select2-search-choice-close" tabindex="-1"></a>

我已尝试使用 coffeescript 此版本,但无效:

unless $(".select2-search-choice-close").click()
  $('#query_txt').change ->
    window.location = $('#query_txt').data('url') + '/searches?query=' + $('#query_txt').val()

我该怎么办? 谢谢!

3 个答案:

答案 0 :(得分:1)

单击时创建条件标记true。或者取消绑定到链接的点击处理程序中的change

答案 1 :(得分:0)

试试这个

<a href="#"  class="select2-search-choice-close" tabindex="-1"></a>

var buttonClicked = false;
 $('#query_txt').change(function() {
     if(buttonClicked)
     window.location = $('#query_txt').data('url') + '/searches?query=' +  $('#query_txt').val();
  });
$(".select2-search-choice-close").click(function(){
  buttonClicked = true;
   return false;
});

答案 2 :(得分:0)

此问题的解决方法位于when click on close button and when click on suggestions text with select2

Select2在回调中返回一个对象,可以检查它是否在那里添加或删除。谢谢Eru。