2015-06-18 31 views
0

div標記用於在UIWebview執行粗體斜體等等操作。我想在用戶通過JavaScript/jQuery觸摸div標籤時獲取位置座標。如何從jQuery代碼中獲取座標值(x,y)並存儲在NSString中?

我在JSFiddle找到了代碼。

$(document).ready(function(e) { 
 
    $('#C').click(function(e) { 
 
     var posX = $(this).position().left, posY = $(this).position().top; 
 
     var x = e.pageX - posX; 
 
     var y = e.pageY - posY; 
 
     alert((x) + ' , ' + (y)); 
 
    }); 
 
});
#C { 
 
    width: 100px; 
 
    height: 100px; 
 
    cursor: pointer; 
 
    background: #2f2f2f; 
 
    position: absolute; 
 
    top: 50px; 
 
    color: #fff; 
 
    font: bold 15px Arial; 
 
}
<div id="C" style="left:500px;"> 
 
    position() <br /> 
 
    mouse <br/> 
 
    position 
 
</div>

如何存儲xy使用字符串由字符串評估的JavaScript jQuery的座標NSString

+0

改進了格式化,固定拼寫錯誤以提高可讀性。 – Ram

回答

1

根據UIWebView Class Reference,您需要使用stringByEvaluatingJavaScriptFromString並從Javascript函數返回一個值。

This question on Stack Overflow有幾個答案,進入相當不錯的細節。我建議從那裏開始。響應

更新評論:

jQuery是一個簡單的JavaScript庫。基本面仍然適用。要在jQuery中返回一個值(在這種情況下,改變你提供的函數),你只需要......好吧...... 返回的值。

var getCoord = function() { 
    var posX = $(this).position().left, posY = $(this).position().top; 
    var x = e.pageX - posX; 
    var y = e.pageY - posY; 
    return (x) + ' , ' + (y); // this is the line that returns your coordinates 
}; 

getCoord(); // to call your function 
+0

我想從Jquery返回值。怎麼做。我已經知道的Javascript和一些功能只能運行jquery罰款。 – mohsin

+0

查看我更新的答案。返回一個值是非常標準的東西。 – Stef

相關問題