jQuery .on和.trigger

时间:2013-10-04 14:29:20

标签: javascript jquery-selectors jquery

我有一个HTML元素:

...
<div class="preferences">
    ...
    <button class="menuButton cpnScanPressed" id="btnScanCpn">Scan</button>
    ...
</div>
...

并在其上绑定一个事件:

$('.preferences').on('click', '#btnScanCpn', handleScanCpn);

现在我想在按下ESC时触发该事件:

/* discard changes if pressing esc */
input.keydown(function(e) {
if (e.keyCode == 27) {
    e.preventDefault();
    console.log("DEBUG"); // console says:"DEBUG"
    console.log($(".cpnScanPressed#btnScanDps")); // console says:"jQuery( )"
    $("#btnScanDps").trigger('click'); // wont fire!
    }
});
那么似乎有什么麻烦?!看来选择器不起作用了?!我不明白..

3 个答案:

答案 0 :(得分:2)

您有两个id s #btnScanDps#btnScanCpn彼此不对应。我猜这是一个错字?

答案 1 :(得分:2)

您只需使用

即可
$("#btnScanCpn").click();

希望这会奏效。

答案 2 :(得分:1)

您需要修复您的ID。您将事件绑定到#btnScanDps,该事件不存在。使用正确的:#btnScanCpn

console.log($(".cpnScanPressed#btnScanCpn"));
    $("#btnScanCpn").trigger('click'); 
}