<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。管理员后台使用。
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。管理员后台使用。
<a onclick="edit(this)" cid="123" tid="123" ttitle="event">编辑</a>function(TheMessage){
$(TheMessage).attr("cid");
$(TheMessage).attr("tid");
$(TheMessage).attr("ttitle");
}这样子试试
<a onclick="edit(this)" cid="123" tid="123" ttitle="event">编辑</a>
function edit(TheMessage){
$(TheMessage).attr("cid");
$(TheMessage).attr("tid");
$(TheMessage).attr("ttitle");
}
还有你这个this只是传递了a这个对象,而不是单击事件对象。
还有,请先看清楚要实现的功能。
但是我在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();
});
jquery对function(e)里的e做了封装,所以有originalEvent
那你是说jquery 中的e 不是event 那要实现这样的功能,怎么写?
主要是想获取单击编辑的时候,鼠标左边。以至最终实现在编辑附近弹出一个div。管理员后台使用。 获取单击时候的鼠标 x y坐标?
就可以了
还有几个问题,event是可以当作参数传递的?对除了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
})
利用“||”的写法来兼容不同浏览器,表达式最终的值为第一个非false的值。
那我不传递event 能直接用event.x吗?