为什么'如果'在preventDefault和stopPropagation之前

时间:2014-10-13 06:28:12

标签: javascript javascript-events

这可能是一个新手问题,但我不能谷歌或猜测为什么会这样。

el.addEventListener(
    'drop',
    function(e) {
        if(e.preventDefault) { e.preventDefault(); }
        if(e.stopPropagation) { e.stopPropagation(); }
        //... some other code

现在......我过去只是实施

e.preventDefault();
e.stopPropagation();

没有任何'如果有人可以给我一个提示,为什么我之前应该放置ifs?

1 个答案:

答案 0 :(得分:3)

确保preventDefaultstopPropagation在执行之前确实存在。其他做同样事情的方法包括:

var empty = function(){};
(e.preventDefault || empty)()
if(typeof e.preventDefault !== "undefined") e.preventDefault();