使用jquery指向鼠标指针

时间:2012-08-30 11:24:49

标签: jquery safari label

您好我正在研究鼠标指针位置功能,除了safari之外它正常工作。 我在很长时间内都在苦苦挣扎,但无法找到解决方案。这是我的函数小提琴http://jsfiddle.net/PdCxm/

<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
$('li').click(function(e){
    var pagex= e.clientX;
    $('.radiogrup').text(pagex)
    })

})

</script>

<style>

*{ margin:0}
ul{list-style:none}

label{display:block}

li{ padding-top:5px; width:115px; border:solid 1px #FF0000}
</style>

</head>

<body>
<ul>

<li>
<label>
<input type="radio" name="test"/>
</label>
</li>

<li>
<label>
<input type="radio" name="test"/>
</label>
</li>


</ul>

<div class="radiogrup">
</div>
</body>

3 个答案:

答案 0 :(得分:2)

有点

var evt;
$(document).click(function(e){
    evt = e.pageX;
});
$('li').click(function(e){
    $('.radiogrup').text(evt);
});

小解决方法: http://jsfiddle.net/PdCxm/7/

答案 1 :(得分:0)

尝试e.originalEvent.pageX or e.originalEvent.clientX而不是e.pageX or e.clientX

答案 2 :(得分:0)

Works fine in Safari [即它提供与Chrome中相同的坐标]:

<强> HTML

<ul>
    <li><label><input type="radio" name="test"/></label></li>
    <li>a row</li>    
    <li>a row</li>    
</ul>
<div id="coords"></div>

的Javascript

$(function(){
    $('li').click(function(e){

        $('#coords').html(e.clientX + " " + e.clientY);

    });
});​

打开控制台以检查是否有任何错误。