Jquery - 禁用文本框,但仍然捕获该区域上的单击事件

时间:2011-11-10 20:53:16

标签: javascript jquery html css

就像问题所说,我试图捕获已禁用的文本框上的单击。

现在,可能有更好的方法来做到这一点,但现在我不知道。基本上我有一个文本框被禁用坐在div。它只是一个占位符。我有一个事件捕获它的父div中的任何位置的点击。由于文本框已禁用,因此无效。

有没有人知道如何:

  1. 启用文本框,但不允许用户输入任何输入或显示光标。 (基本上使它只是一个用户根本无法与之交互的静态文本框)
    1. 像我现在一样禁用文本框,但继续捕获点击事件。
    2. 这是输入的样子:

      <li id="test_id" class="selected">
        <label id="" for=""> Untitled</label>
        <input id="text" type="textbox" name="default" disabled="disabled">
        <div class="field_actions">
        <span class="propertiesTip"></span>
      </li>
      

      这就是click事件处理程序的样子:

      $('#parent').on('click' , 'li, label, textbox', function (event) { /*...*/ }
      

      这会处理div内任意位置的点击。如果禁用,它在文本框上不起作用。以前有人遇到过这个并有解决方案吗?提前致谢

2 个答案:

答案 0 :(得分:5)

我知道这是提到的,但我会使用只读。您可以使用CSS将其设置为禁用样式,甚至可以将光标更改为您想要的任何内容:

input.myDisabledInput {

color: grey;
background-color: lightgray;
cursor:default

}

答案 1 :(得分:3)

而不是禁用,请将其设为只读。