$('#selectmenu').on('keyup focus mousedown', function(e) {
e.preventDefault();
});
但是当按Tab键选择它时,我可以通过按下&关键。如何阻止它?
答案 0 :(得分:1)
阻止标签键。
$('/*The Previous Input */').on('keydown', function(e) {
if (e.keyCode == 9) {
e.preventDefault();
}
});
我没有你的HTML,所以我无法测试或集成代码。
你也可以使用禁用=“禁用”,我认为这是一个更好的解决方案。
答案 1 :(得分:1)
您使用jQuery的off()
或unbind()
方法:
<select id="dropDown" name="dropDown" style="margin-top: 5px; width: 150px;">
<option value="select">Select </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="All">All </option>
</select>
<button id="stopChange" >Stop</button>
<button id="StartChange" >Start</button>
jQuery代码:
$("#stopChange").click(function () {
$("#parSelCategor").unbind("change");
});
$("#StartChange").click(function () {
$("#parSelCategor").bind("change");
});
答案 2 :(得分:0)
您可能会听到更像“onchange”的全局事件,并在事件触发时将值更改回上一个事件。
禁用选择也可能有效。
编辑:'keydown'似乎也是一个好主意。
答案 3 :(得分:0)
您可以更改选择框的tabindex
$('#selectmenu').attr('tabindex', -1).on('keyup focus mousedown', function (e) {
e.preventDefault();
});
或最好的方法就是禁用控件
$('#selectmenu').attr("disabled", true);
答案 4 :(得分:0)
如果某个变量(stopChange
)为真,这里的解决方案只会强制选择保持不变。
JS(jQuery):
var stopChange = true;
var opt = $('option:selected');
$('#selectmenu').on('change', function () {
if (stopChange) {
opt.attr('selected', true);
}
});
这是fiddle。