簡體   English   中英

外部.js文件上的“ onClick”

[英]“onClick” on external .js file

我是Java語言的新手,我正嘗試使用html標記在外部.js文件中的圖像上執行onClick事件

<script type="text/javascript" src="embed.js">

以下是“ embed.js”中的代碼

var image1=new Image();
image1.src="img.gif"
document.write('<IMG src='+image1.src+'>');


$(document).ready( function()
{
 $(image1).click( function()
{
    alert("Hello World");
    });
});   

如您所見,當有人單擊圖像時,我想顯示一個警報,但是我發布的代碼不起作用。 你可以幫幫我嗎? 謝謝! :)

@JD它的html代碼是

<html>
<head>
    <title></title>

</head>

<body>
<script src="embed.js"></script>
</body>


</html>

您將onclick到的圖像和放在頁面上的圖像是不同的。

說明:傳遞給document.write的字符串由瀏覽器解析,以創建一個新的圖像元素(盡管具有相同的src ),而image1是僅在內存中(不在頁面上)的另一個圖像實例,但它具有事件偵聽器。

要修復,請更換

document.write('<IMG src='+image1.src+'>');

document.body.appendChild(image1);

現在,您只處理一張圖像,該圖像將被放置在頁面事件偵聽器上。

所有答案都是正確的

但是您可以直接在DOM中插入“ image1”對象。

像這樣:

$(document).ready( function(){
    // Take care with the scope of image1

    var image1 = $("<img/>").attr("src","img.gif").appendTo("parentElementInDOMselector");

    image1.click( function(){
        alert("Hello World");
    });

});  

您可以使用appendTo,preppendTo或類似html()的函數; 更換(); 等等...

您的選擇已關閉,請嘗試:

$("document").ready( function()
{
 $("#image1").click( function()
{
    alert("Hello World");
    });
});   

並將id添加到圖片標簽

<img id='image1' ...

JS小提琴http://jsfiddle.net/YS95J/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM