首先,我不是在寻找jQuery解决方案,只是简单的纯Javascript代码,在一个元素中。
假设我们有以下html代码:
<select onmousedown=" ??? ">...</select>我想要一个简单的脚本内的元素,以显示弹出消息alert()的信息,哪个按钮被按下了,以及什么是相对位置的元素的文档<body> -有点像jQuery中的offset()。
发布于 2012-02-20 09:40:53
创建一个具有某个名称的JavaScript函数,然后在传递event和this对象的onmousedown事件上调用它,这两个对象可以在函数内部使用。
HTML
<select onmousedown="onMouseDown(event, this)">...</select>JS
function onMouseDown(e, obj){
e = e || window.event; //window.event for IE
alert("Keycode of key pressed: " + (e.keyCode || e.which));
alert("Offset-X = " + obj.offsetLeft);
alert("Offset-Y = " + obj.offsetTop);
}如果您计划使用jQuery,则可以使用此脚本
$('select').mousedown(function(e){
alert("Keycode of key pressed: " + e.which);
//Inside the handler this points to the select DOM element
alert("Offset-X = " + $(this).offset().left);
alert("Offset-Y = " + $(this).offset().top);
});更新:
如果你想要内联脚本,那么试试这个。
<select onmousedown="function(e, obj){ e = e || window.event;alert('Keycode of key pressed: ' + (e.keyCode || e.which));alert('Offset-X = ' + obj.offsetLeft);alert('Offset-Y = ' + obj.offsetTop);}(event, this);">...</select>发布于 2012-02-20 10:08:55
MouseEvent.button在不同的浏览器中具有不同的值
MouseEvent.button == 1// means left key in ie6~ie8
MouseEvent.button == 0// means left key in ie9&others发布于 2012-02-20 09:16:43
<select id="foo" onmousedown="mouseDown()">...</select>
window.captureEvents(Event.MOUSEDOWN)
window.onmousedown = mouseDown
function mouseDown(e)
{
xPos = e.screenX;
yPos = e.screenY;
alert('onmousedown foo ' + ' x:' + xPos + ' y:'+ yPos);
}编辑
<select id="foo" onmousedown="function mouseDown(e){alert(MouseEvent.button + ' x:' + e.screenX + ' y:'+ e.screenY);}">...</select>
https://stackoverflow.com/questions/9355019
复制相似问题