Javascript jQuery.on和.trigger

Javascript jQuery.on和.trigger,javascript,jquery-selectors,jquery,Javascript,Jquery Selectors,Jquery,我有一个html元素: ... <div class="preferences"> ... <button class="menuButton cpnScanPressed" id="btnScanCpn">Scan</button> ... </div> ... 现在,如果按下ESC,我想触发该事件: /* discard changes if pressing esc */ input.keydown(function

我有一个html元素:

...
<div class="preferences">
    ...
    <button class="menuButton cpnScanPressed" id="btnScanCpn">Scan</button>
    ...
</div>
...
现在,如果按下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!
    }
});

有什么问题吗?!选择器似乎不工作?!我不明白。

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

你有两个
id
s
#btnScanDps
#btnScanCpn
彼此不对应。我猜是打字错误?

你需要修改你的身份证。您正在将一个事件绑定到不存在的
#btnScanDps
。使用正确的方法:
#btnScanCpn

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

你需要修正你的身份证。您正在将一个事件绑定到不存在的
#btnScanDps
。使用正确的方法:
#btnScanCpn

console.log($(".cpnScanPressed#btnScanCpn"));
    $("#btnScanCpn").trigger('click'); 
}
你可以简单地使用

$("#btnScanCpn").click();
希望这能奏效。

您只需使用

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

希望这能起作用。

#btnScanDps或
#btnScanCpn
?(哈哈,有人喜欢这个问题)拼写错误
btnScanDps
btnScanCpn
?我在标记中没有看到任何与
#btnScanDps
匹配的元素。选择器正在工作,只是找不到任何东西。这个问题似乎离题了,因为它是一个打字错误。@Jacedc有人喜欢这个问题有什么好笑的?我经常喜欢低质量的问题,所以我知道要回来再次检查它们(这通常意味着在关闭后投删除票,但偶尔会恢复否决票,并在改进后重新投票)。
\btnScanDps
\btnScanCpn
?(哈哈,有人喜欢这个问题)拼写错误
btnScanDps
btnScanCpn
?我在标记中没有看到任何与
#btnScanDps
匹配的元素。选择器正在工作,只是找不到任何东西。这个问题似乎离题了,因为它是一个打字错误。@Jacedc有人喜欢这个问题有什么好笑的?我经常喜欢低质量的问题,所以我知道要回来再次检查它们(这通常意味着一旦关闭就投删除票,但偶尔会恢复否决票,并在改进后重新投票)。