최근 netsurf를 튜닝할 때 관련 버그에 직면했습니다. 경고()가 두 번 호출되었습니다. html 코드:
함수 causealert()
{
var txt = document.getElementById("p1").textContent;
alert(txt);
}
문단의 첫 번째 줄.
< /p>
<script><br>var Button1 = document.getElementById("button1");<br>/*var Button1Click = function() { Alert(1) }; ", Button1Click, false);*/<br>Button1.onclick = causealert;<br> </p></script>
evt->단계 = DOM_BUBBLING_PHASE;
스펙에는 캡쳐링과 버블링 중 하나만 선택할 수 있다고 명시되어 있습니다. 코드에서는 js_dom_event_add_listener()에서 캡쳐링을 선택합니다. 이는 경고가 두 번 실행되는 이유를 설명합니다.
수정: DOM 3 사양에 따라 위의 0을 1로 변경하면 됩니다.