首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onmousedown -向左还是向右?

onmousedown -向左还是向右?
EN

Stack Overflow用户
提问于 2012-02-20 09:08:24
回答 4查看 15K关注 0票数 5

首先,我不是在寻找jQuery解决方案,只是简单的纯Javascript代码,在一个元素中。

假设我们有以下html代码:

代码语言:javascript
复制
<select onmousedown=" ??? ">...</select>

我想要一个简单的脚本内的元素,以显示弹出消息alert()的信息,哪个按钮被按下了,以及什么是相对位置的元素的文档<body> -有点像jQuery中的offset()

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-20 09:40:53

创建一个具有某个名称的JavaScript函数,然后在传递eventthis对象的onmousedown事件上调用它,这两个对象可以在函数内部使用。

HTML

代码语言:javascript
复制
<select onmousedown="onMouseDown(event, this)">...</select>

JS

代码语言:javascript
复制
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,则可以使用此脚本

代码语言:javascript
复制
$('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); 
});

更新:

如果你想要内联脚本,那么试试这个。

代码语言:javascript
复制
<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>
票数 5
EN

Stack Overflow用户

发布于 2012-02-20 10:08:55

MouseEvent.button在不同的浏览器中具有不同的值

代码语言:javascript
复制
MouseEvent.button == 1// means left key in ie6~ie8
MouseEvent.button == 0// means left key in ie9&others
票数 3
EN

Stack Overflow用户

发布于 2012-02-20 09:16:43

<select id="foo" onmousedown="mouseDown()">...</select>

代码语言:javascript
复制
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>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9355019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档