$(document).keypress(function(e) {
if(e.which == 13) {
$("#submitButton").click();
}
});
这就是当我在页面的任何地方按下输入时执行我的功能,但这与我的dropdown list
键盘导航相冲突。
<div class="form-group" id="contractGroup">
<label for="inputContract" class="col-sm-5 control-label">Contract Type <b>*</b></label>
<div class="col-sm-7">
<div class="input-group" id="contractPicker">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><span class="caret"></span></button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Full-time</a></li>
<li><a href="#">Part-time</a></li>
</ul>
</div>
<asp:TextBox runat="server" type="text" class="form-control" ID="inputContract" placeholder="Full time, Part time"></asp:TextBox>
</div>
</div>
</div>
当尝试通过dropdown list
制表时,你必须使用enter来选择同时执行我的功能的项目,这是我不想要的。
我知道可以为每个textbox
检查是否可以执行功能,如果在textbox
有焦点的情况下按下了输入,但是我已超过20岁而宁愿避免这种情况。而且我知道我可以使用asp:panel defaultbutton
但忽略了我的jquery函数并调用了代码隐藏而不是jquery函数,因为我有2 linking buttons
作为一个,其中一个不能是asp:button
需要asp:panel
。
另一个解决方案是以某种方式使dropdown list
以不同方式对待,而不是作为&#34;当前页面&#34;。我正在使用bootstrap datepicker
,当键盘浏览日历弹出窗口时,我可以使用enter而不调用我的函数。
如果可能的话,我希望有一个单一功能来检测是否在页面上的任何textbox
上按下了输入。
干杯
答案 0 :(得分:0)
尝试在下拉列表中添加一个id并将一个点击侦听器绑定到它以防止它冒泡。有点像...
$("#dropdown-list").keypress(function(e) {
e.preventDefault();
});