2012-09-07 103 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() {