如何添加保持原始的onBlur事件?

时间:2014-02-27 13:41:53

标签: javascript onblur

我的代码基本上是这样的:

<input type="text" value="" onfocus="myFunction(this);" onblur="alert('1');">

<script>
  function myFunction(obj) {
    obj.onblur = function() {
      alert("2");
    };
  }
</script>

在为我的函数添加事件后,如何运行原始的onBlur事件?

- 编辑 - 这是我的职责:http://jsbin.com/pucaz/1

1 个答案:

答案 0 :(得分:2)

如果您想依赖传统的事件注册,您可以这样做:

function myFunction(obj) {
    var newonblur = function() {
        alert("2");
    }, oldonblur = obj.onblur;
    obj.onblur = oldonblur ? function(e) {
        oldonblur(e);
        newonblur(e);
    } : newonblur;
}

但我不建议这样做。使用addEventListener更现代的方法,并对此感到满意。如果您需要支持旧版浏览器,请考虑使用jQuery这样的框架。