您好我正在研究鼠标指针位置功能,除了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>
答案 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);
});
});
打开控制台以检查是否有任何错误。