我在HTML文檔中有一個<img>
,我想突出顯示用戶使用鼠標突出顯示它。有沒有辦法做到這一點使用JavaScript?如何使用JavaScript以編程方式選擇<img>元素?
我只需要它在Mozilla中工作,但歡迎任何和所有信息。
編輯:我想選擇圖像的原因實際上並不是因此它顯示爲高亮顯示,但是我可以使用XPCOM將選定的圖像複製到剪貼板。所以img實際上必須被選中才能工作。
我在HTML文檔中有一個<img>
,我想突出顯示用戶使用鼠標突出顯示它。有沒有辦法做到這一點使用JavaScript?如何使用JavaScript以編程方式選擇<img>元素?
我只需要它在Mozilla中工作,但歡迎任何和所有信息。
編輯:我想選擇圖像的原因實際上並不是因此它顯示爲高亮顯示,但是我可以使用XPCOM將選定的圖像複製到剪貼板。所以img實際上必須被選中才能工作。
下面是其在頁面上選擇第一圖像(這將是堆棧溢出的標誌,如果你測試一下這個頁面在Firebug的)一個例子:
var s = window.getSelection()
var r = document.createRange();
r.selectNode(document.images[0]);
s.addRange(r)
相關文章:
您可以交換圖像的來源,如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>
謝謝,邁克。我應該更具體地說明我想要做什麼。圖像不能突出顯示。它必須被強調。 – 2008-09-24 01:29:34
不,不是你的錯,我誤讀了一些單詞......對不起! – 2008-09-24 01:51:00
給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給它焦點。
「highLight」解決方案的基本思想是可以的,但是您可能希望爲img設置一個「static」邊框樣式(在css中定義),其尺寸與highLight方法中指定的尺寸相同它不會導致調整大小。另外,我相信如果你將調用改爲「highLight(this)」,將函數def改爲「highLight(obj)」,那麼你可以跳過「document.getElementById()」調用(和「img」的「id」屬性的規範),只要你改爲「obj.style.border」即可。
您可能還需要正確拼寫「highLight」。
你究竟想要做什麼?如果你使用的是XPCOM,你可能會寫一個應用程序或一個擴展;你不能直接獲取圖像數據並直接放在剪貼板上嗎?
我選擇元素個人的選擇是jQuery的:
然後讓你選擇的元素是:
$( 「#IMG YOURIMAGEHERE」)專注();
您可能還想在s.addRange(r)之前調用s.removeAllRanges()。
完美。這正是我要找的。 – 2008-09-24 01:48:08