9

我有一些愚蠢的问题,我想我已经知道答案了,但我想从比我拥有更多 jquery 知识的人那里找到答案。我有一个下拉列表,我想知道是否可以检查 ddl 是否已被单击或更改。例子

If($('#ddl').click() || $('#ddl').on('change'){
    //do something.
}
4

3 回答 3

13

您可以将单击和更改事件处理程序绑定到元素并设置标志:

$('#ddl').on('click change', function() {
    $(this).data('clicked', true);
});

// later
if ($('#ddl').data('clicked')) {
   // ...
}

当然,如果您想在单击或更改元素时执行操作,请将该代码直接放在事件处理程序中。在这种情况下,您不需要标志。

于 2013-08-27T17:10:26.233 回答
2

这为如何编写函数来捕获更改提供了很好的参考 - http://api.jquery.com/change/

$('#ddl').change(function() {
    // do something
});
于 2013-08-27T17:10:57.300 回答
0

你可以这样做:

$("#Element").click(function () {
  alert('This element has been clicked');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="Element">
  Click me and test if it works
</div>

于 2018-02-06T10:40:59.710 回答