<a onclick="edit('123','wer',event)">编辑</a>  //event 能当参数传递吗?
 
function edit(a,b,e){             
var xx = e.originalEvent.x || e.originalEvent.layerX || 0;           
 var yy = e.originalEvent.y || e.originalEvent.layerY || 0;            
alert(xx);  //不会弹出 以上两个语句有错误
} 主要是想获取单击编辑的时候,鼠标左边。以至最终实现在编辑附近弹出一个div。管理员后台使用。

解决方案 »

  1.   

    亲,你这个写法。
    <a onclick="edit(this)" cid="123" tid="123" ttitle="event">编辑</a>function(TheMessage){
    $(TheMessage).attr("cid");
    $(TheMessage).attr("tid");
    $(TheMessage).attr("ttitle");
    }这样子试试
      

  2.   

    亲,你这个写法。
     <a onclick="edit(this)" cid="123" tid="123" ttitle="event">编辑</a>
     
    function  edit(TheMessage){
     $(TheMessage).attr("cid");
     $(TheMessage).attr("tid");
     $(TheMessage).attr("ttitle");
     }
     
      

  3.   


    还有你这个this只是传递了a这个对象,而不是单击事件对象。
    还有,请先看清楚要实现的功能。
      

  4.   

    因为原生的js里根本就没originalEvent这个属性,e.originalEvent是undefined,再去下一级找属性必然报错
      

  5.   


    但是我在jquery里面是可以的。此外我也引用了jquery。
     $('#map').bind('click', function(e) {
                    var xx = e.originalEvent.x || e.originalEvent.layerX || 0;
                    var yy = e.originalEvent.y || e.originalEvent.layerY || 0;
                    $('#small').css('top', yy + 305);
                    $('#small').css('left', xx + 23);
                    $('#small').show();
                });
      

  6.   

    这是jquery封装的属性
    jquery对function(e)里的e做了封装,所以有originalEvent
      

  7.   

    而你这边并没有用到jquery的方法,只是原生的onclick绑定,所以无法使用originalEvent
      

  8.   


    那你是说jquery 中的e 不是event 那要实现这样的功能,怎么写?
      

  9.   

    jquery中 e是封装了event并做了些加工,你这边要获取的是什么参数?
      

  10.   


    主要是想获取单击编辑的时候,鼠标左边。以至最终实现在编辑附近弹出一个div。管理员后台使用。 获取单击时候的鼠标 x y坐标?
      

  11.   

    var xx = e.x || e.pageX;
    就可以了
      

  12.   

    早遇到你这个明白人就ok了。
    还有几个问题,event是可以当作参数传递的?对除了ie也管用吗?
    为什么涉及坐标 都是 || 或好几个。
      

  13.   

    event在IE下是作为window的全局对象使用的,但在非IE下是需要作为参数传递进去的,所以我们经常看到
    bind(obj,'click', function(e){
    e = e || window.event; //这里传的e是针对非IE浏览器的,window.event是IE下的
    var xx = e.x || e.pageX; //这也是兼容写法,IE是x,非IE是pageX
    })
      

  14.   

    ||的作用就是或,当前面一个为false时会去取后面的那个值,e.x在FF下是undefined,所以就会去取e.pageX,这些都是兼容写法
      

  15.   

    直接在标签中内联绑定事件是可以使用“event”这个变量名的,各个浏览器都支持;而且其实它本身就是你在jQuery中看到的那个“originalEvent”。
    利用“||”的写法来兼容不同浏览器,表达式最终的值为第一个非false的值。
      

  16.   


    那我不传递event 能直接用event.x吗?
      

  17.   

    不传的话IE下可以,但是FF下就会报错