Javascript onbeforedeactivate事件

Javascript onbeforedeactivate事件,javascript,html,internet-explorer,Javascript,Html,Internet Explorer,仅限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("b

仅限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') };
}

window.onload=函数(){
var el=document.getElementById(“文本”);
var but=document.getElementById(“but”);
el.onbeforedeactivate=函数(){alert('out')};
but.onclick=function(){alert('click')};
}
当我点击textarea内的按钮(焦点在textarea上)时,我希望这两个函数都会触发,但不会发生

为什么??
警报
会引起各种各样的麻烦,特别是在IE上,但坦率地说,在其他浏览器上也是如此。我会避免的

如果您不使用
警报
,而是使用另一种方式显示已接收到的事件,则示例效果良好:

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上测试。使用您的原始版本,我得到与您相同的结果(只是“退出”警报)。更新后,我发现这两个事件实际上都发生了。

alert
会引起各种各样的麻烦,特别是在IE上,但坦率地说,在其他浏览器上也是如此。我会避免的

如果您不使用
警报
,而是使用另一种方式显示已接收到的事件,则示例效果良好:

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上测试。使用您的原始版本,我得到与您相同的结果(只是“退出”警报)。通过更新,我发现这两个事件实际上都发生了。

如果单击按钮,您会收到两个警报?我也有Ie8,只得到“Out”真的,我也只得到Out在这种情况下,如果你点击按钮,你会得到2个警报?我也有Ie8,只有'Out'是的,我也只有'Out'在那种情况下,对不起