2012-09-07 135 views
0

我應該創建一個頁面加載時觸發的自定義事件,它向ID爲#myElementId的div添加一個類「綠色」。這是我在代碼中的嘗試,但我收到一條錯誤消息,說我必須添加類綠色。你能告訴我我做錯了什麼嗎?jQuery:創建一個自定義事件

$(document).ready(function(){ 

$('#myElementId').bind('ready', function() { 
     $(this).addClass('green'); 
    }); 
}); 

HTML

<body> 
<div id="myElementId"></div> 

</body> 

更新

這是從一個本應教我如何建立,增加了頁面加載一個類的自定義事件Codecademy網站教訓採取的,所以即使有是其他更簡單的解決方案,我試圖按照本課程的意圖來解決它。

這是他們給了

$("#myElementId").on("myCustomEvent", function(event) { 
}); 
+0

很確定'div's沒有'onready'事件。 –

+0

你得到的* exact *錯誤信息是什麼? –

+0

這是通過codecademy練習,自定義錯誤消息。糟糕,再試一次。 你需要給div分類'.green' – Leahcim

回答

3

你可能只是做:

$(document).ready(function() { 
    $("#myElementId").addClass('green'); 
}​);​ 

另外請注意,你有你的id錯字。它是myElementId,而不是myElementID

編輯:要觸發事件,請使用.trigger()

$(document).ready(function() { 

// Bind a function to be executed when 'myCustomEvent' is triggered 
$('#myElementId').bind('myCustomEvent', function() { 
    $(this).addClass('green'); 
}); 

// Trigger the event 'myCustomEvent' 
$('#myElementId').trigger("myCustomEvent"); 

});​ 

另外,在jQuery 1.7,你應該使用.on()而不是.bind()

DEMO

+0

感謝您指出錯字。不過,練習的要點是創建一個自定義事件,在頁面加載時添加一個「綠色」類。 – Leahcim

+0

@邁克爾:我明白了,檢查我的更新。 –

0

只需添加名字的綠色類的CSS ..這應該得到的工作,爲你做..

.green 
{ 
    font-weight: bold; 
    background-color: green; 
} 

檢查提示此FIDDLE

同樣你不需要這條線

$('#myElementID').bind('ready', function() {