仅限Internet Explorer。
<input type="button" id="but" value="button2"/>
<textarea id="text" cols="40" rows="20"></textarea>
window.onload = function() {
var el = document.getElementById("text");
var but = document.getElementById("but");
el.onbeforedeactivate = function() { alert('out') };
but.onclick = function() { alert('click') };
}
当我单击textarea中的按钮(焦点位于textarea上)时,我希望这两个函数都能触发但不会发生。
为什么呢? Online Example
答案 0 :(得分:3)
alert
会造成各种麻烦,尤其是在IE上但坦率地说在其他浏览器上也是如此。我会避免它。
如果您不使用alert
,您的示例可以正常工作,而是使用另一种方式显示已收到的事件:
window.onload = function() {
var el = document.getElementById("text");
var but = document.getElementById("but");
el.onbeforedeactivate = function() { display('out') };
but.onclick = function() { display('click') };
function display(msg) {
var p = document.createElement('p');
p.innerHTML = msg;
document.body.appendChild(p);
}
}
在IE6,7和8上测试过。使用原始版本,我得到与您相同的结果(只是“out”警报)。通过更新,我发现事件确实发生了。