Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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-文本输入属性_Javascript_Events_Forms - Fatal编程技术网

Javascript-文本输入属性

Javascript-文本输入属性,javascript,events,forms,Javascript,Events,Forms,我需要创建一个表单元素 这在默认情况下是禁用的。当发生onmouseover时启用 onmouseover=“this.disabled=false;” 并且被onmouseout禁用 onmouseout=“this.disabled=true;” 我需要的是检查以下内容。 如果已聚焦,则不应禁用 如果表单元素失去焦点,它将禁用 请帮我完成这些活动 你能做的是 在焦点上,将变量设置为true 在模糊设置变量为假;这是真的 onmouseover如果为true,则将禁用设置为false 仅当

我需要创建一个表单元素

这在默认情况下是禁用的。当发生onmouseover时启用

onmouseover=“this.disabled=false;”

并且被onmouseout禁用

onmouseout=“this.disabled=true;”


我需要的是检查以下内容。 如果已聚焦,则不应禁用

如果表单元素失去焦点,它将禁用

请帮我完成这些活动

你能做的是

  • 在焦点上,将变量设置为true
  • 在模糊设置变量为假;这是真的
  • onmouseover如果为true,则将禁用设置为false
  • 仅当变量为false时才禁用onmouseout设置;(如此不聚焦)
  • 你能做的是

  • 在焦点上,将变量设置为true
  • 在模糊设置变量为假;这是真的
  • onmouseover如果为true,则将禁用设置为false
  • 仅当变量为false时才禁用onmouseout设置;(如此不聚焦)

  • 我认为您将很难获得这种行为,因为禁用的字段将不会收到
    mouseover
    (或者
    mouseenter
    ,如果您的浏览器支持的话)事件。我甚至尝试在它下面的元素上捕获事件,但禁用的字段会吃掉它。

    我认为您在获取此行为时会遇到很多问题,因为禁用的字段不会接收到
    鼠标悬停
    (或者
    鼠标悬停
    ,如果您的浏览器支持的话)事件。我甚至尝试在它下面的一个元素上捕获事件,但disabled字段会吃掉它。

    这不起作用,因为在大多数浏览器中,
    onmouseover
    不会在禁用的输入上触发。(Opera是个例外,IE通常不会,除非你用拖动操作来欺骗它。)

    在任何情况下,对我来说,这听起来都是一个非常奇怪和对用户不友好的把戏。为什么要禁用它?如果在您尝试与它交互时它变为非禁用状态,那么它似乎没有任何意义(但有很多可访问性的缺点)

    如果只是一个样式,那么使用样式:

    <style type="text/css">
        .weirdinput { color: silver; }
        .weirdinput:hover, .weirdinput:focus { color: black; }
    </style>
    
    <input class="weirdinput" value="smth" />
    

    这不起作用,因为在大多数浏览器中,
    onmouseover
    不会在禁用的输入上启动。(Opera是个例外,IE通常不会,除非你用拖动操作来欺骗它。)

    在任何情况下,对我来说,这听起来都是一个非常奇怪和对用户不友好的把戏。为什么要禁用它?如果在您尝试与它交互时它变为非禁用状态,那么它似乎没有任何意义(但有很多可访问性的缺点)

    如果只是一个样式,那么使用样式:

    <style type="text/css">
        .weirdinput { color: silver; }
        .weirdinput:hover, .weirdinput:focus { color: black; }
    </style>
    
    <input class="weirdinput" value="smth" />
    

    禁用的字段不提交,不在键选项卡节点列表中,并且不侦听或传递事件。您禁用输入,以便用户无法更改其值

    没有先获得焦点,就不能更改任何字段

    您只能通过脚本更改禁用的属性,该脚本将来自页面上其他地方的事件

    但是如果没有名称,就像在您的示例中一样,字段的值在任何情况下都不会与其表单一起提交,那么字段是否被禁用又有什么关系呢


    如果您的目的是在javascript未启用时禁用该字段,为什么不使用css隐藏该字段并使用脚本样式显示它呢

    禁用的字段不提交,不在键选项卡节点列表中,并且不侦听或传递事件。您禁用输入,以便用户无法更改其值

    没有先获得焦点,就不能更改任何字段

    您只能通过脚本更改禁用的属性,该脚本将来自页面上其他地方的事件

    但是如果没有名称,就像在您的示例中一样,字段的值在任何情况下都不会与其表单一起提交,那么字段是否被禁用又有什么关系呢


    如果您的目的是在javascript未启用时禁用该字段,为什么不使用css隐藏该字段并使用脚本样式显示它呢

    如果你不介意我说的话,这听起来像是一种非常奇怪的用户体验。首先,这意味着你完全禁用了键盘对该字段的访问。我们键盘类型不会那么喜欢,可访问性软件可能也会遇到这种情况。你能告诉我们你为什么想要这种行为吗?我同意t.J.在这一点上,我很少在网页上触摸鼠标。如果你不介意我说的话,这听起来像是一种非常奇怪的用户体验。首先,这意味着你完全禁用了键盘对该字段的访问。我们键盘类型不会那么喜欢,可访问性软件可能也会遇到这种情况。你能告诉我们更多关于你为什么想要这种行为的信息吗?我同意t.J.在这一点上,我很少在网页上触摸鼠标。它不会吗?我不知道,每天都学习新的东西。如果他真的想要这种功能,也许他可以使用readonly而不是disabled。@CharlesLeaf:我也没有。:-)我很好奇,试过了,没有?我不知道,每天都学习新的东西。如果他真的想要这种功能,也许他可以使用readonly而不是disabled。@CharlesLeaf:我也没有。:-)我很好奇,试了一下。