1

こんにちは私はサファリを除いて完全に機能しているマウスポインタ位置機能に取り組んでいます。私は何時間も苦労していますが、解決策を見つけることができません。これが私の関数フィドルです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 に答える