0

我的问题很简单,但我尝试了不同的解决方法。我有以下代码。我正在创建新的<div>并试图给它一个类名测试。所以当我<div>用类测试点击这个时,我试图提高警惕......请帮助我,我迷路了......

$('.item').click(function(){
        if(!isFullscreen){ // MAXIMIZATION
            $boxes = $(this).css('width','100%');
            $boxes.addClass("test");
            //$boxes.id = "test"; 
            $('#content').prepend( $boxes ).masonry( 'reload' );
        }
});

$(".test").click(function(){
    alert("Test");

});

我什至尝试了下面的代码:但它们没有用

        //$boxes.className="test";
        //jQuery($boxes).attr("id","test");

提前致谢...

4

3 回答 3

3

您应该委托该事件:

$("#content").on('click', '.test', function() {
    alert("Test");
});

要向单击的元素添加 ID,您可以编写代码:

this.id = 'test';

请注意,如果您将相同的 ID 添加到多个元素,您的文档将变为无效。

于 2012-10-07T21:54:37.817 回答
2

testitem单击类的元素时,您的第一个函数将创建一个作为该类成员的元素。

您的 section 函数将在运行时向该类的所有成员添加一个单击处理程序test……这是item单击任何元素之前。

使用onmethod,而不是clickmethod 并创建Delegated 事件事件(有关说明,请参阅文档)。

于 2012-10-07T21:54:34.400 回答
2

您需要将 div 添加到正文中...您应该这样做:

$(body).append('<div id="test" class="test">');
$boxes = $('#test');

而且您需要使用委托您的点击功能on()

更改$(".test").click(function(){$('body').on('click', '.test', function(){

于 2012-10-07T21:54:34.270 回答