我需要的是一个禁用的输入,它会触发事件。但由于 Firefox 不支持,我想以某种方式模拟它。
这基本上意味着,不允许编辑和隐藏插入符号。我不在乎外表。
我已经看到使用了这个 CSS:user-select: none;
但这不是我想要的 - 1)用户仍然可以编辑 2)我希望它是可选择的。
我不想要用 a 覆盖真正禁用的输入并捕获它的事件的方法 - 它的便携性不好。
相关:禁用输入上的事件
我需要的是一个禁用的输入,它会触发事件。但由于 Firefox 不支持,我想以某种方式模拟它。
这基本上意味着,不允许编辑和隐藏插入符号。我不在乎外表。
我已经看到使用了这个 CSS:user-select: none;
但这不是我想要的 - 1)用户仍然可以编辑 2)我希望它是可选择的。
我不想要用 a 覆盖真正禁用的输入并捕获它的事件的方法 - 它的便携性不好。
相关:禁用输入上的事件
您基本上可以取消输入上的每个 keydown 事件。但是,这仍然会显示 carret:
<input type="text" id="disabled_input" />
jQuery:
$('disabled_input').keydown(function (event) {
event.preventDefault();
event.stopPropagation();
// or simply return false;
});
Javascript:
document.getElementById('disabled_input').onkeydown = function (event) {
event.preventDefault();
event.stopPropagation();
// or simply return false;
};
为什么不将它包装在另一个元素中并将事件处理程序放在该元素上?
例如
<div class="disabledwrapper">
<input type="text" disabled="disabled" name="test" value="test" />
</div>