簡體   English   中英

jQuery單擊(function()不起作用,但純Javascript工作正常

[英]jQuery click(function() not working but plain Javascript working just fine

這是完整的腳本

http://goo.gl/HoCxk

我有這個功能的問題:

    $('.message').click(function(){
    alert("it works");
    var clicked_msg=$(this);
    $('#current_message').html(clicked_msg.attr("id"));
});

如果不是上面的我添加一個onclick =“msgClicked()”,然后做這樣的事情:

function msgClicked(){
var x=document.getElementById("current_message");alert("it works");x.innerHTML("test");}

jQuery庫顯然是導入的,因為其他一切都是使用jQuery框架完成的,而消息傳遞系統上實現的所有其他函數都是jQuery。 一切都在那里完美,但由於某種原因,我無法弄清楚這個有什么問題。

如果你們中的任何一個願意提供幫助而且你需要了解實際情況,請告訴我,我將在我的網站上為您創建一個帳戶。 從內容中刪除所有保護將花費很長時間。

你好嗎?

通常這些小煩惱是由於:

  • 你犯了一個拼寫錯誤(例如.message在JS或HTML中拼錯了)
  • 您正在嘗試將此函數分配給尚未創建的元素

只是為了確定,試試這個:

alert($('.message').length)
$('.message').click(function(){
    alert("it works");
    var clicked_msg=$(this);
    $('#current_message').html(clicked_msg.attr("id"));
});

如果它輸出0,那是因為上面兩個問題中的一個可能正在發生,然后,試試這個:

$(function(){
    alert('The page loaded!');
    alert('.message elements in page: ' + $('.message').length);
    $('.message').click(function(){
        alert("it works");
        var clicked_msg=$(this);
        $('#current_message').html(clicked_msg.attr("id"));
    });
});

如果你沒有得到任何警告消息,你的jQuery導入有問題,它可能是一個沖突(比如包括jQuery兩次!)

如果頁面中的.message元素大於0,那么這是第二個問題(您試圖將.click事件分配給尚未創建的元素)

如果它仍然說0個元素,那么就沒有創建類“message”的元素。

我希望這能指出你正確的方向。

干杯!

暫無
暫無

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

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