「observe( "click",...」の代わりに「onclick = ...」を使用するという私の問題をすべて特定した3つの優れた回答に感謝します
しかし、受け入れられた回答の賞は、ドラッグされた要素をマークするためにクラス名を追加するメカニズムについてPaolo Bergantinoに渡さなければなりません。
私の HTML には、各行に画像リンクがあるテーブルがあります。
<table class="search_results">
<tr>
<td class="thumbnail"><a href="..."><img src="..." /></a></td>
...
付属の Javascript ファイルには、画像をドラッグ可能にするコードが含まれています。
$$( ".thumbnail a img" ).each(
function( img )
{
new Draggable( img, {revert:true} );
}
);
ドラッグの終了を検出する単純なハンドラー
Draggables.addObserver({
onEnd:function( eventName, draggable, event )
{
// alert ( eventName ); // leaving this in stops IE from following the link
event.preventDefault(); // Does Not Work !!!
// event.stop(); // Does Not Work either !!!
}
});
私の考えでは、画像をクリックするとリンクをたどる必要がありますが、ドラッグすると別のことが起こるはずです。
実際には、画像がドラッグされるとハンドラーが呼び出されますが、リンクは引き続きたどられます。
間違ったイベントをキャンセルしていると思います。
要素がドラッグされた後にリンクがたどられないようにするにはどうすればよいですか?
編集:event.stop
greystateの提案を試した後に追加
FireFox、Apacheなどで機能する基本的なソリューションができました。以下の私自身の回答を参照してください。
しかし、私はまだ IE7 (できれば IE6) のソリューションを探しています。
IE で画像をドラッグする際のもう 1 つの問題は、ツール ヒントが表示されたときに画像がマウス ポインターから離れてしまうことです。マウスを離し、画像をもう一度クリックして、ドラッグを再度取得する必要があります。そのため、その問題を解決するのに役立つアイデアも探しています。