0

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

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

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

我不想要用 a 覆盖真正禁用的输入并捕获它的事件的方法 - 它的便携性不好。

相关:禁用输入上的事件

4

2 回答 2

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;
};
于 2013-01-07T15:48:19.557 回答
1

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

例如

<div class="disabledwrapper">
    <input type="text" disabled="disabled" name="test" value="test" />
</div>
于 2013-01-07T15:48:32.720 回答