Подскажите, пожалуйста, в чём проблема. Я разбиваю htmldocumnet из webbrowser на отдельные htmlelemet-ы и для каждого создаю ивент клик, но проблема в том, что при одном клике по веб браузеру данный ивент срабатывает несколько раз(около 10). Как избавиться от данной фантомности?
private void webBrowser1_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElementCollection tags = webBrowser1.Document.All;
foreach (HtmlElement element in tags)
{
element.Click += new HtmlElementEventHandler(element_Click);
}
}
void element_Click(object sender, HtmlElementEventArgs e){...}
Потому что событие click
"всплывает" - обработчики (у кого они есть) вызываются для всех элементов в цепочке родителей. Избежать этого можно, вызвав метод объекта event
stopPropagation
- в javascript, или в Вашем случае:
private void element_Click(object sender, HtmlElementEventArgs e)
{
e.BubbleEvent = false;
}
Пример в javascript
$(".outer").click(function(e){
console.log("in outer");
});
$(".letBubble").click(function(e){
console.log("in inner - let bubble");
});
$(".stopBubble").click(function(e){
e.stopPropagation();
console.log("in inner - stop bubble");
});
.inner {
border-style:solid;
border-width:1px;
background-color:red;
width:200px;
height:60px;
}
.outer {
padding:10px;
background-color:green;
width:300px;
height:150px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="outer">
<div class="inner letBubble">let click event bubble to parent</div>
<br/>
<div class="inner stopBubble">stop click event on this element</div>
</div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Допустим, есть CLR функция, которая имеет статический словарь, где сохраняется некоторый кеш
Здравствуйте! Не получается каким-либо образом обрезать Shapes элемент по контуру PathFigureПодскажите пожалуйста, куда глубже копать
Всем привет как узнать что приложение было запущено с определенным параметром из cmd? Есть определенный параметр "Show Version" и при запуске cmd > testexe...