代码之家  ›  专栏  ›  技术社区  ›  Itay Moav -Malimovka

当输入元素设置为disabled时,如何接收onclick事件?

  •  6
  • Itay Moav -Malimovka  · 技术社区  · 14 年前

    我需要在一个被禁用的输入标签上有一个onclick/hover事件。
    除了用另一个标签把它包装起来并给这个标签事件,还有别的方法吗?

    <input type="checkbox" onclick="cant_choose('event')" disabled="disabled" value="2" name="enroll_to[event][]">
    
    2 回复  |  直到 14 年前
        1
  •  8
  •   alex    13 年前

    你可以 模拟 它被javascript和css禁用。

    也就是说,模糊它接收到的所有焦点,然后添加一个类,类似于这样。

    input.disabled {
        background: #d4d0c8;
        color: #888;
        cursor: default;
    }
    

    更新

    与上的“正常”和“禁用浏览器”输入框比较 JSbin .

        2
  •  1
  •   alexia Greg Guida    13 年前

    您可以将输入字段包装在一个容器中,并在其上绑定click事件。

    <div id='input-container'>
        <input id='myText' disabled />
    </div>
    
    <script>
        $('#input-container').click(function() {
            alert('test');
        });
    </script>
    

    http://jsfiddle.net/M2EYH/

    如果您有多个禁用的字段,并且不想为每个容器生成唯一的ID,那么您可以为容器提供一个类名称,而不是一个ID。