2011-09-10 19 views
8

Jose Faeti aracılığıyla bir fare tıklatmasına dayalı bir görüntü yerleştiren bir komut dosyası var. Şimdi bir kullanıcıya .click() olayı eklemek için yardıma ihtiyacım var, böylece kullanıcı görüntüyü tıkladığında betikte gösterilen işlevi yerine getiriyor.Bir görüntüye nasıl bir .click() olayı eklerim?

<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />.click() 

Görmek istediğiniz takdirde, aşağıdaki kodun tamamını aşağıya koyarım.

<html> 
<head> 
<script language="javascript" type="text/javascript"> 
<!-- 

document.getElementById('foo').addEventListener('click', function (e) { 

var img = document.createElement('img'); 

img.setAttribute('src', 'http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png'); 

e.target.appendChild(img); 
}); 

    // --> 
</script> 

</head> 

<body> 
<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />.click() 
</body> 
</html> 

Yardım? Her şeyden

+0

sadece jQuery kullanmadığınız Herhangi bir neden? Her durumda, resim için bir DOM öğesi oluşturuyorsunuz. Bu, bir dinleyicinin eklenmesiyle başka bir DOM öğesine dinleyicinin eklenmesiyle aynıdır. –

cevap

16

Öncelikle Sen HTML ve JavaScript karıştırma konum bu hat

<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" />.click() 

. Böyle çalışmıyor. .click()'dan kurtulun.

Eğer var olan JavaScript'i okuyorsanız, document.getElementById('foo'), foo kimliğine sahip bir HTML öğesi arıyor. Senin hiç yok. Yine de senin biraz JavaScript ve HTML üzerinde okuma öneririm

<img src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" onclick="myfunction()" /> 

:

<img id="foo" src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" /> 

Alternatif olarak, bir işlevde JS atmak ve HTML'nizde bir onclick bırakabilir: Kimlik o görüntüyü ver .


diğerleri de bağlayıcı JS tıklama yukarıda <img> taşımak gerek hakkında doğru.

eğer mevcutsa önce öğeye etkinlik bağlamak edemez, bu nedenle onload olay bunu yapmalıyım
7

:

<html> 
<head> 
<script type="text/javascript"> 

window.onload = function() { 

    document.getElementById('foo').addEventListener('click', function (e) { 
    var img = document.createElement('img'); 
    img.setAttribute('src', 'http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png'); 
    e.target.appendChild(img); 
    }); 

}; 

</script> 
</head> 
<body> 
<img id="foo" src="http://soulsnatcher.bplaced.net/LDRYh.jpg" alt="unfinished bingo card" /> 
</body> 
</html> 
0
<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.js"></script> 
<script type="text/javascript" src="jquery-2.1.0.js"></script> 
<script type="text/javascript" > 
function openOnImageClick() 
{ 
//alert("Jai Sh Raam"); 
// document.getElementById("images").src = "fruits.jpg"; 
var img = document.createElement('img'); 
img.setAttribute('src', 'tiger.jpg'); 
    img.setAttribute('width', '200'); 
    img.setAttribute('height', '150'); 
    document.getElementById("images").appendChild(img); 


} 


</script> 
</head> 
<body> 

<h1>Screen Shot View</h1> 
<p>Click the Tiger to display the Image</p> 

<div id="images" > 
</div> 

<img src="tiger.jpg" width="100" height="50" alt="unfinished bingo card" onclick="openOnImageClick()" /> 
<img src="Logo1.jpg" width="100" height="50" alt="unfinished bingo card" onclick="openOnImageClick()" /> 

</body> 
</html> 
İlgili konular