Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery-禁用文本框,但仍捕获该区域上的单击事件_Javascript_Jquery_Html_Css - Fatal编程技术网

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

Javascript Jquery-禁用文本框,但仍捕获该区域上的单击事件,javascript,jquery,html,css,Javascript,Jquery,Html,Css,就像问题所说的,我试图捕捉一个被禁用的文本框上的点击 现在,也许有更好的方法,但现在我不知道。基本上,我有一个文本框,它在div中被禁用。它只是一个占位符。我有一个事件可以捕获父div中任何位置的点击。因为文本框被禁用,所以这不起作用 是否有人知道一种方法: 保持文本框处于启用状态,但不允许用户输入任何输入或显示光标。(本质上,它只是一个用户根本无法交互的静态文本框) 或 像现在一样禁用文本框,但继续捕获单击事件 这是输入的样子: <li id="test_id" class="selec

就像问题所说的,我试图捕捉一个被禁用的文本框上的点击

现在,也许有更好的方法,但现在我不知道。基本上,我有一个文本框,它在div中被禁用。它只是一个占位符。我有一个事件可以捕获父div中任何位置的点击。因为文本框被禁用,所以这不起作用

是否有人知道一种方法:

  • 保持文本框处于启用状态,但不允许用户输入任何输入或显示光标。(本质上,它只是一个用户根本无法交互的静态文本框)
  • 像现在一样禁用文本框,但继续捕获单击事件
  • 这是输入的样子:

    <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>
    
    $('#parent').on('click' , 'li, label, textbox', function (event) { /*...*/ }
    

    这将处理div中任意位置的单击。如果禁用,则在文本框上不起作用。以前有人遇到过这种情况并有解决方案吗?提前感谢

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

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

    input.myDisabledInput {
    
    color: grey;
    background-color: lightgray;
    cursor:default
    
    }
    

    问题是,这仍然让它看起来像用户可以输入一个输入值。诅咒者出现了。是否仍有禁用此行为的方法?然后在复选框获得焦点时触发该复选框上的
    blur
    事件<代码>$(您的输入).focus(函数(){$(this.blur();})