当用户在textarea中单击disabled=true时生成事件,告诉他们不能修改它

Generating event when user clicks in textarea with disabled=true, to tell them they can't modify it

本文关键字:事件 他们 修改 不能 textarea 用户 单击 true disabled      更新时间:2023-09-26

我想告诉用户,当他们试图点击时,他们不能修改已禁用更新的文本区域。在这种情况下,我如何告诉他们为什么它被禁用,例如使用警报?

问题是/是,当我给textarea一个禁用属性,事件为它不火了(至少在Chrome)。

我猜你主要关心的是disabled属性不允许IE上的事件。

readonly属性,然而,做:

<texarea readonly onclick="alert('Please do not edit me!');">

在textarea标签中使用onclick属性。你可以这样做:

<textarea onclick="alert('CAN'T TOUCH THIS!')">
    blahblahblahblahblahblahblah
</textarea>

下面是另一个例子:

<textarea onclick="textareaclicked();">
    blahblahblahblahblahblahblah
</textarea>
<script type="text/javascript">
    function textareaclicked() {
        alert("CAN'T TOUCH THIS!");
    }
</script>
最后一个例子:
<textarea onclick="textareaclicked('Someone set up us the bomb :(');">
    blahblahblahblahblahblahblah
</textarea>
<script type="text/javascript">
    function textareaclicked(var s) {
        alert(s);
    }
</script>

我认为你应该只使用disabled html属性,并做一些时尚的禁用元素,如灰色:

<style>
  .disabled {
    background-color:gray;
  }
</style>
<textarea disabled="disabled" class="disabled" title="Disable for update"></textarea>

我会说将它包装在一个span中,并给它一个事件。(注意,它不允许点击事件在一个禁用的文本区域在chrome)。

http://jsfiddle.net/yU7ku/

HTML

<textarea disabled></textarea>
jQuery

$("[disabled]")
    .wrap("<span></span>")
    .parent()
    .click(function(){
        alert("this "+this.firstChild.nodeName+" is disabled");
    });