1
$('#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()

どうすればいいですか?ありがとうございました!

4

3 に答える 3

1

クリックすると状態フラグを立てtrueます。changeまたは、リンクのクリック ハンドラーでバインドを解除します。

于 2013-03-22T19:34:44.397 に答える
0

この質問の修正は、閉じるボタンをクリックしたとき、および select2 で提案テキストをクリックしたときにあります

Select2 はコールバックでオブジェクトを返し、そこに追加または削除されたかどうかを確認できます。えるさん、ありがとうございます。

于 2013-03-28T08:27:51.803 に答える
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;
});
于 2013-03-22T19:35:59.467 に答える