我的html元素有以下事件处理程序

jQuery("#seek-bar").click(function(e){
    var x = e.pageX - e.target.offsetLeft;
    alert(x);    
});

我需要找到单击时鼠标在#搜索栏上的位置.我本以为上面的代码应该可以工作,但是它给出了不正确的结果

推荐答案

Are you trying to get the position of mouse pointer relative to element ( or ) simply the mouse pointer location

Try this Demo : http://jsfiddle.net/AMsK9/


编辑:

1)event.pageX,event.pageY给你鼠标位置的相对文档!

Ref : http://api.jquery.com/event.pageX/
http://api.jquery.com/event.pageY/

2) offset():它给出元素的偏移位置

Ref:http://api.jquery.com/offset/

3)position():它给你一个元素的相对位置,即,

假设一个元素嵌入到另一个元素中

example :

<div id="imParent">
   <div id="imchild" />
</div>

Ref:http://api.jquery.com/position/

HTML

<body>
   <div id="A" style="left:100px;"> Default    <br /> mouse<br/>position </div>
   <div id="B" style="left:300px;"> offset()   <br /> mouse<br/>position </div>
   <div id="C" style="left:500px;"> position() <br /> mouse<br/>position </div>
</body>

JavaScript

$(document).ready(function (e) {

    $('#A').click(function (e) { //Default mouse Position 
        alert(e.pageX + ' , ' + e.pageY);
    });

    $('#B').click(function (e) { //Offset mouse Position
        var posX = $(this).offset().left,
            posY = $(this).offset().top;
        alert((e.pageX - posX) + ' , ' + (e.pageY - posY));
    });

    $('#C').click(function (e) { //Relative ( to its parent) mouse position 
        var posX = $(this).position().left,
            posY = $(this).position().top;
        alert((e.pageX - posX) + ' , ' + (e.pageY - posY));
    });
});

Html相关问答推荐

Rmarkdown上的垂直标签集

在浮动元素旁边垂直居中

电话号码验证器(Angular )

如何才能只给没有孟加拉语Kar符号的字母上色?

嵌套表列高度不是100%高度的问题

响应CSS中的两到三列布局

assets资源 净值元素不会扩展到涵盖子项

如何使用CSS创建文件夹选项卡的形状?

使用bash从html表格中提取表格

是否有语义 HTML 可以澄清含义?

当多个a元素用作目标时的:target伪类

四开:如何右对齐 PDF *和* HTML 中的文本

如何让一个 div 元素粘在另一个元素上?

CSS 中的 fingerprint scanner 动画

带有伪元素的不规则形状的渐变边框

防止按钮溢出到新行

我用 ejs 修复了一个奇怪的语法错误,我想知道问题出在哪里

使用 rgba() 的 css 中的边框不透明度不起作用

如何使用 html 和 css 为卡片创建此背景框架

如果不透明的元素出现在下方,为什么不透明度会使一个元素出现在另一个元素上方?