Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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/2/csharp/333.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
如何在HTML div中使用JavaScript OnBlur()?_Javascript_C#_Jquery_Html_Asp.net - Fatal编程技术网

如何在HTML div中使用JavaScript OnBlur()?

如何在HTML div中使用JavaScript OnBlur()?,javascript,c#,jquery,html,asp.net,Javascript,C#,Jquery,Html,Asp.net,我有一个菜单,我可以打开和关闭菜单点击标签。它起作用了。 我还使用OnBlur()。实际上它也可以工作,但当我在菜单中单击一个div时,OnBlur处于活动状态,菜单关闭,div的onclick不工作。我如何解决这个问题 在JavaScript代码中 <script> function Acc_Show() { var q = document.getElementById("he-my"); q.style.display = ""; document.

我有一个菜单,我可以打开和关闭菜单点击标签。它起作用了。 我还使用OnBlur()。实际上它也可以工作,但当我在菜单中单击一个div时,OnBlur处于活动状态,菜单关闭,div的onclick不工作。我如何解决这个问题

在JavaScript代码中

<script>
  function Acc_Show() {
    var q = document.getElementById("he-my");
    q.style.display = "";
    document.getElementById("my-account-btn").focus();
    document.getElementById("my-account-btn").setAttribute("onclick", "Acc_Hide()");
  }
  function Acc_Hide() {
    var q = document.getElementById("he-my");
    q.style.display = "none";
    document.getElementById("my-account-btn").setAttribute("onclick", "Acc_Show()");
  }
</script>

函数Acc_Show(){
var q=document.getElementById(“他是我的”);
q、 style.display=“”;
document.getElementById(“我的帐户btn”).focus();
document.getElementById(“我的帐户btn”).setAttribute(“onclick”、“Acc_Hide()”);
}
函数Acc_Hide(){
var q=document.getElementById(“他是我的”);
q、 style.display=“无”;
document.getElementById(“我的帐户btn”).setAttribute(“onclick”、“Acc_Show()”);
}
在HTML代码中

<a id="my-account-btn" href="javascript:;" onclick="Acc_Show()" onblur="Acc_Hide()">My Account</a>

我的菜单的形象

更新来自OP的附加代码:

<div class="he-myac" id="he-my" style="display:none;">
  <div id="my-account-wrapper">
    <div class="myaccount" onclick="GoAdress('test.aspx')">Test</div>  
    <br/>
    <div class="myaccount" onclick="GoAdress('settings.aspx')" >Settings</div>
    <br/>
    <div class="myaccount" onclick="GoAdress('log_out.aspx')">Log Out</div>
  </div>

测验

设置
注销
我感觉这一行
q.style.display=“”Acc\u Show()
函数中的code>引起的。尝试将其替换为
q.style.display=“block”


当触发
onblur
事件时,您的
Acc\u Hide()
函数通过调用
q.style.display=“none”来隐藏您的
。然后,下一次单击
my account btn
将触发
Acc_Show()
函数,该函数将
q.style.display设置为空字符串。这不会取消隐藏
块。

您不需要使用JavaScript设置onclick属性,只需添加一个调用函数的单击事件处理程序即可。看看这个谢谢,但我的主要问题不是这个。关于onblur那么你的意思是,在调用函数
Acc_Hide()
后(由
onblur
事件触发),下次单击你的
my account btn
按钮不会触发你的
Acc_Show
函数?@BurakKaya这就是我发表评论而不是回答的原因。我试图帮助您编写易于理解的干净代码。你现在所拥有的真的是一团糟。Javascript函数名称应为小写:
showcount
vs
Acc\u Show
。您多次重新查询同一元素。。。浪费打字、性能和可读性。否。像这样想。我点击了我的账号btn,菜单打开了。然后我在菜单(内部)中单击了一个div(div有onclick事件)。但是div的onclick事件不起作用,因为当我单击div时,onblur触发器和菜单关闭。我想知道当我点击div时,div的onclick事件会起作用。@BurakKaya请发布你在评论中提到的其他相关代码,如
div
。“测试
设置
注销”@BurakKaya所以你的意思是当你点击菜单中的
myaccount
时,
my account btn
onblur
事件被触发?是的,完全正确。所以我只希望当我单击myaccount时,onblur不处于活动状态,并运行GoAddressJavaScript。@BurakKaya尝试删除
document.getElementById(“我的帐户btn”).focus()从您的
Acc\u Show()