我的网络中的一些元素的代码我想要这样做:
当用户点击div时,触发div内部按钮的点击(在这种情况下,这些按钮打开一个模态),这可以在我创建window.location而不是触发器的页面的其他位置。这段代码有什么不好的地方?我不知道:(
对不起我的英文,谢谢。
private void GetNewsTopStories()
{
string queryNews = String.Format("http://news.yahoo.com/rss/");
XmlDocument wData = new XmlDocument();
wData.Load(queryNews);
XmlNamespaceManager manager = new XmlNamespaceManager(wData.NameTable);
XmlNode channel = wData.SelectSingleNode("rss").SelectSingleNode("channel");
XmlNodeList nodes = wData.SelectNodes("rss/channel/item", manager);
titleNews = channel.SelectSingleNode("item").SelectSingleNode("title").InnerText;
topNewsLabel.Text = titleNews.ToString();
}
控制台显示此错误:
未捕获RangeError:超出最大调用堆栈大小
答案 0 :(得分:3)
这是因为Javascript中的event bubbling
我可以通过在您的代码中添加e.stopPropagation()
来复制和解决它。
$(".hover-content").click(function(e){
e.preventDefault();
console.log('hi')
e.stopPropagation();
$(this).find("button").each(function(){
if($(this).is(":visible")){
$(this).trigger("click");
}
});
});
$('.button-ex').click(function(e){
e.preventDefault();
e.stopPropagation();
console.log('clicked button')
})

body {
background-color: #eef;
padding: 5px;
}
.hover-content{
background-color:#FF0000
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="hover-content">
<button id="btnOne" class="button-ex">demo1</button>
<button id="btnTwo" class="button-ex">demo2</button>
</div>
&#13;