将一个类添加到div,然后使用该类onclick事件

时间:2012-10-24 16:28:52

标签: jquery addclass

我有一个首先无法点击的元素,但我想点击另一个div使其可点击。

我做的是

$("#div_1").addClass("selected");

$(".selected").click(function() {
    $("#block").animate({
        width: "70%",
        opacity: 0.4,
        marginLeft: "0.6in",
        fontSize: "3em",
        borderWidth: "10px"
    }, 1500);
});​

但这似乎不起作用,我不确定这有什么问题,也许有更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:1)

Try something like this:

$("#div_1").addClass("selected");

$("#div_1").click(function() {
    if($(this).hasClass('.selected') {
    $("#block").animate({
        width: "70%",
        opacity: 0.4,
        marginLeft: "0.6in",
        fontSize: "3em",
        borderWidth: "10px"
    }, 1500);
    }
});​

另外,为了便于使用,当您添加可点击功能时,请使用此功能使其对用户显示为可点击:

$("#div_1").addClass("selected").css('cursor', 'pointer');

答案 1 :(得分:0)

您需要委派此类情况...尝试使用 .on()并将事件附加到静态父级。

因为当添加类时,事件已经与DOM加载时相关联。因此委托它将解决问题。

$("#div_1").addClass("selected");

$('body').on("click", ".selected", function() {
     // Your code here
});​