1

嗨,我正在研究鼠标指针位置功能,该功能除了 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>
4

3 回答 3

2

有点儿

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

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

于 2012-08-30T11:31:07.117 回答
0

尝试e.originalEvent.pageX or e.originalEvent.clientX代替e.pageX or e.clientX

于 2012-08-30T11:37:03.370 回答
0

在 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);

    });
});​

打开控制台检查是否有任何问题。

于 2012-08-30T11:37:50.393 回答