当用户在带有disabled = true的textarea中单击时生成事件,告诉他们无法修改它

时间:2011-10-22 23:12:51

标签: javascript jquery

我想告诉用户,当他们尝试点击时,他们无法修改已禁用更新的文本区域。我如何告诉他们在这种情况下禁用它的原因,例如:有警报吗?

问题是/是,当我给textarea一个禁用的属性时,它的事件也不会触发(至少在Chrome中)。

4 个答案:

答案 0 :(得分:5)

我猜你的主要担心是disabled属性不允许在IE上发生事件。

readonly属性可以:

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

答案 1 :(得分:0)

使用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>

答案 2 :(得分:0)

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

<style>
  .disabled {
    background-color:gray;
  }
</style>

<textarea disabled="disabled" class="disabled" title="Disable for update"></textarea>

答案 3 :(得分:0)

我会说把它包裹在一个跨度中并给出该事件。 (请注意,它不允许在chrome中禁用textarea上的单击事件。)

http://jsfiddle.net/yU7ku/

HTML

<textarea disabled></textarea>

的jQuery

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