0

我想检查用户是否单击了 select2 关闭按钮或仅触发了更改事件。这是我的 select2 输入:

<%= hidden_field_tag :query, params[:query], :id => "query_txt" %>

在我的咖啡脚本文件中:

$('#query_txt').select2(
   #select2 options here, ajax, initSelection...etc
   #
   #
   #
   $("#query_txt").on "change", (e) ->
     if ($(".select2-search-choice-close").click ->)
       console.log "click on close"
 )

问题是,如果我单击建议文本,我可以在控制台上看到文本“单击关闭” 。

换句话说,如果您单击x/remove 按钮,如下图所示:

在此处输入图像描述

如果您单击此图像中的建议文本,则会发生相同的行为:

在此处输入图像描述

您可以在http://jsfiddle.net/nqWNJ/9/中查看示例代码

我的问题是我如何知道用户何时点击建议文本或点击关闭按钮。

谢谢

4

1 回答 1

1

您需要添加另一个将在点击时触发的事件。

$queryTxt = $('#query_txt') #cache object
$queryTxt.select2(
  #select2 options here, ajax, initSelection...etc
  #
  #
  #
)
$queryTxt.on 'change', (obj) ->
  console.log 'clicked on close' if obj.removed
  console.log 'change was triggered'
于 2013-03-23T13:00:26.230 回答