Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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 确定chrome中当前的DOM元素状态_Javascript_Jquery_Html - Fatal编程技术网

Javascript 确定chrome中当前的DOM元素状态

Javascript 确定chrome中当前的DOM元素状态,javascript,jquery,html,Javascript,Jquery,Html,如何确定Chrome中textarea元素的状态:focus、:hover等 对于上下文,我尝试创建一个web应用程序。在上一页提交表单后,新页面的文本区域会自动显示光标,我不希望出现这种情况。我尝试使用下面的jQuery代码,它在Firefox中有效,但在Chrome中无效: element = $("#elementID"); if (element.is(":focus")) { element.blur(); } 在Chrome中,代码不执行if语句中的element.blur

如何确定Chrome中textarea元素的状态:focus、:hover等

对于上下文,我尝试创建一个web应用程序。在上一页提交表单后,新页面的文本区域会自动显示光标,我不希望出现这种情况。我尝试使用下面的jQuery代码,它在Firefox中有效,但在Chrome中无效:

element = $("#elementID");
if (element.is(":focus")) {
    element.blur();
}
在Chrome中,代码不执行if语句中的element.blur,这意味着if语句失败。我已经使用调试器进行了检查,并且通过Chrome中的id成功返回了元素。所以我认为问题在于州检查声明

我假设问题是元素状态,我想调查当时的元素状态,最好使用Chrome开发工具。不幸的是,我不知道如何检查当前状态。我只能找出如何检查状态是否等于特定状态

我已经到处搜索过了,但我只找到了一些答案,比如讨论如何使用Chrome开发工具设置特定状态,而不是如何确定当前状态何时可以是任何状态

我意识到我可以在JavaScript中检查每个可能的状态,但似乎我缺少检查状态的正确方法

这里有一堆。然而,我也有兴趣听到关于确定textarea当前状态的一般问题的答案


谢谢你的帮助

这很可能是操作顺序问题-在检测到输入焦点之前执行逻辑

我在这里复制了这个问题,并通过将代码放入窗口事件中修复了它

var$el=$'textarea'; //不会执行 如果$el.is':焦点'{ $el.blur; 控制台。记录“窗口外加载”; } //将执行 $window.loadfunction{ 如果$el.is':焦点'{ $el.blur; 控制台。记录“窗口内加载”; } };
当Chrome点击此按钮时,听起来元素未定义。是否使用document.getElementById'some-id'获取元素?是否不经过if语句?这是什么意思?如果你只是编辑问题以绕过评论,那么很难回答。然后我必须仔细检查你的更改。你的控制台有错误吗?添加一些调试消息。@ChrisSharp-感谢您的回复。我也很高兴在这里发帖,只是很难同时做到这一切哈哈。我正在使用JQuery ID选择方法$someID。if语句检查失败-元素即使有光标也没有聚焦-因此模糊函数永远不会执行。看起来@Jon Uleis想出了一个很好的解决方案。这对你有用吗?谢谢!这个应用程序比这个更复杂,所以我必须花一些时间来检查它。我使用Javascript和页面中的许多其他元素添加文本框,然后尝试取消对文本框的关注。另外,虽然我很欣赏在本例中解决特定问题,但我对我发布的一般问题也很好奇,因为我认为这将提供一种方法,在未来对我的帮助将超过调试特定问题。好的。因此,排序问题似乎是一个普遍的问题。我在这里举了一个例子:。如果你能解释为什么在这种情况下会出现排序问题,并给出标题中一般问题的答案,我会给你打勾,如果我能给出多个问题,我会给你打勾。@jon ulies在前面的评论中想标记你。因为这个问题似乎没有直接回答我原来的问题就消失了,我给你打勾。谢谢你的帮助!