1

我正在使用的代码是用于移动应用程序的。我想在我们的移动屏幕上找出当前选定对象的位置>这里我有两个段落元素 id “#first”和“#second”,我试图找到它们的位置。但它总是HTML coords (0,0) 在结果中返回我。我想这是因为我使用的是 jquery 函数 .postion() 而不是 jquery 移动函数。请帮忙

<html>
  <head>
    <meta name="viewport" content="width=320; user-scalable=no" />

    <link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title">

    <script type="text/javascript" charset="utf-8" src="main.js"></script>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.2/jquery.mobile-1.1.0-rc.2.min.css" />
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.1.0-rc.2/jquery.mobile-1.1.0-rc.2.min.js"></script>

    <script>
     $("*", document.body).click(function (e) {
     var offset = $(this).position();
     e.stopPropagation();
     $("#result").text(this.tagName + " coords ( " + offset.left + ", " +
                                  offset.top + " )");
     });

    </script>

</head> 
<body> 

<div data-role="page">

    <div data-role="header">
        <h1>My Title</h1>
    </div><!-- /header -->
     <div data-role="content" id="objects">
        <p id="first">1st object</p>
        <p id="second">2nd object</p>
        <p id="result"></p>
    </div>


</div><!-- /page -->

</body>
</html>
4

1 回答 1

3

你有没有试过这个:

$(function () {
    $('#first,#second').click(function () {
       $("#result").text(this.tagName + " coords ( " + $(this).position().left + ", " + $(this).position().top + " )");
    });        
});​

演示:http: //jsfiddle.net/CKG9U/

于 2012-04-06T07:08:53.810 回答