ユーザーがマウスを使用して<img>
強調表示したかのように強調表示したい HTML ドキュメントがあります。JavaScriptを使用してそれを行う方法はありますか?
Mozilla で動作するために必要なだけですが、ありとあらゆる情報を歓迎します。
編集: 画像を選択する理由は、実際には強調表示するためではなく、選択した画像を XPCOM を使用してクリップボードにコピーできるようにするためです。したがって、これを機能させるには、実際に img を選択する必要があります。
ユーザーがマウスを使用して<img>
強調表示したかのように強調表示したい HTML ドキュメントがあります。JavaScriptを使用してそれを行う方法はありますか?
Mozilla で動作するために必要なだけですが、ありとあらゆる情報を歓迎します。
編集: 画像を選択する理由は、実際には強調表示するためではなく、選択した画像を XPCOM を使用してクリップボードにコピーできるようにするためです。したがって、これを機能させるには、実際に img を選択する必要があります。
ページの最初の画像を選択する例を次に示します (Firebug でこのページをテストすると、Stack Overflow のロゴになります)。
var s = window.getSelection()
var r = document.createRange();
r.selectNode(document.images[0]);
s.addRange(r)
関連ドキュメント:
s.addRange(r) の前に s.removeAllRanges() を呼び出すこともできます。
正確には、何をしようとしているのですか?XPCOM を使用している場合は、アプリケーションまたはその拡張機能を作成していると思われます。画像データを取得して直接クリップボードに置くことはできませんか?
要素を選択するための私の個人的な選択は jquery です。
次に、選択した要素を取得するには:
$("img#YOURIMAGEHERE").focus();
img.src = "otherimage.png";のように、画像のソースを入れ替えることができます。
私は実際にこれをある時点で行いましたが、画像をプリロードするためにできることがあります。
swap-image = "otherimage.png"などの画像要素に特別な属性を設定し、それを含む要素を検索し、画像を自動的に交換するハンドラーを設定しました...あなたはいくつかの楽しいことをすることができます。
申し訳ありませんが、質問を誤解しました。しかしとにかく、私が話していることを行うことに興味がある人のために、ここに私が意味する例があります(粗雑な実装、それを改善するためにjQueryのようなフレームワークを使用することをお勧めしますが、あなたを動かすための何かです):
<html>
<body>
<script language="javascript">
function swap(name) {
document.getElementById("image").src = name;
}
</script>
<img id="image" src="test1.png"
onmouseover="javascript:swap('test0.png');"
onmouseout="javascript:swap('test1.png');">
</body>
</html>
「highLight」ソリューションの基本的な考え方は問題ありませんが、img に「静的な」境界線スタイル (css で定義) を、highLight メソッドで指定されたものと同じ寸法で設定したいので、そうではありません。リサイズを引き起こします。
さらに、呼び出しを「highLight(this)」に変更し、関数 def を「highLight(obj)」に変更すると、「document.getElementById()」呼び出し (および"img" の "id" 属性)、代わりに "obj.style.border" を実行する限り。
おそらく、「highLight」のスペルも正しくする必要があります。
imgタグにIDを付けます。document.getElementById('id')を使用します。
<script type="text/javascript" language="javascript">
function highLight()
{
var img = document.getElementById('myImage');
img.style.border = "inset 2px black";
}
</script>
<img src="whatever.gif" id="myImage" onclick="hightLight()" />
編集::フォーカスを与えるために.focusを試してみてください。