HTML& Javascript - 如何模拟禁用输入(隐藏插入符号)?

时间:2013-01-07 15:45:23

标签: javascript html emulation disabled-input

我需要的是一个禁用输入,它会触发事件。 但由于Firefox不支持,我想以某种方式模仿它。

这基本上意味着,禁止编辑和隐藏插入符号。我不在乎外表。

我看过这个使用过的CSS:user-select: none; 但这不是我想要的 - 1)用户仍然可以编辑2)我希望它可以选择。

我不希望将真正禁用的输入覆盖并捕获它的事件 - 它不便于移植。

相关:Event on a disabled input

2 个答案:

答案 0 :(得分:1)

您基本上可以取消输入中的每个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;
};

答案 1 :(得分:1)

为什么不将它包装在另一个元素中并将事件处理程序放在该元素上?

例如

<div class="disabledwrapper">
    <input type="text" disabled="disabled" name="test" value="test" />
</div>