1

基本的には画像入力を使用したいのですが、結果を得るためにフォームを送信する必要はありません。画像入力をクリックしてX座標とY座標を取得し、ajax経由で送信します。

今、私は画像入力を独自のフォームに入れて、非表示のiframeに送信し、間隔を置いて結果を確認できることに気付きました(現在、ajaxアップローダーに対してこれを行っています)が、少し厄介なようです。また、クリックするだけでjavascriptを介してマウスの位置を取得できることも認識していますが、これは実際には私が求めていることではありません。

このようなタイプの画像の入力を使用できますか?画像入力をクリックして値を設定し、JavaScriptを呼び出してajax呼び出しを実行する方法はありますか?

4

2 に答える 2

2

私は古い質問を調べていましたが、これは適切に答えられなかったことがわかりました。これを「いつまでに」理解したかは覚えていませんが、今はその方法を知っています。

画像入力のクリックイベントのoffsetXとoffsetYを確認するだけです。クリックした画像入力にオフセットする必要があります。

$('input[type=image]').click(function(e) {
     //alert the clicked position.
     alert(e.offsetX + ',' + e.offsetY);
});
于 2012-10-16T13:23:42.823 に答える
1

ここを見てください:http: //jsfiddle.net/pfLtm/

ご覧のとおり、そのコードは次のように簡単に変更できます。

$("#MyInput").click(function(event) {
    var oPos = $(this).position();
    $(this).attr("mouse_x", (event.pageX - oPos.left));
    $(this).attr("mouse_y", (event.pageY - oPos.top));
    return false;
});

これにより、クリックのX位置とY位置が要素自体の属性として保存されます。テストケース: http: //jsfiddle.net/pfLtm/1/

falseを返す代わりに、たとえばAJAX呼び出しを呼び出すことができます。

于 2010-12-27T15:42:15.037 に答える