如题,怎么样触发一个DOM节点的默认行为。通常情况下,我们都是dom.preventDefault(e),现在我想要来fire这个default事件,怎么做呢?ps:具体点说,就是:有两个节点:A和B,当我在A上点击右键的时候,在B上弹出右键菜单。

解决方案 »

  1.   

    点击A的时候,把右键菜单定位到B的位置就可以了。
    不需要触发B的什么默认事件。
      

  2.   

    A节点完全盖住了B节点,也就是说,B的z-index为10,而A的则为100,我想要实现的是,在A上点击鼠标右键,而在B上触发!比如,A节点是DIV,而B节点是img,这个时候,我在DIV上点击右键,其实是在img上弹出的,于是菜单项里出现“图片另存为”。
      

  3.   

    element.onmousedown = function(){    var e = document.createEvent("Events");
        e.initEvent("mousedown", true, false);
        
        //if ie , use anotherElement.fireEvent
        anotherElement.dispatchEvent(e);
        }
      

  4.   

    触发系统的右键菜单,想法不错,不过应该是不行!我触发a 标签的点击事件,点击事件能触发,但是就是不跳转页面!
    系统有判断,点击了,有点击的坐标值!
    在ff 下,我调试发现代码触发的点击事件,坐标值为0! 而且这个事件的坐标值是只读的!
    以下是自动触发dom 事件的代码if(document.all)
    {
    document.getElementById(name).click();
    }
    else
    {
    var evt = document.createEvent("MouseEvents");
    evt.initEvent("click", true, true);
    document.getElementById(name).dispatchEvent(evt);
      

  5.   


    真是一个怪需求。
    你可以试一试动态改变两者的z-index
      

  6.   

    因为 A 元素完全遮住了 B元素 所以B元素的 onmousedown 事件不能触发。在A 元素的 mousedown事件中  trigger B元素的 mousedown事件是这么回事吧。