jQuery在脚本中创建了类

时间:2014-07-24 07:30:07

标签: javascript jquery class event-handling dom-manipulation

我想点击一个段落并显示一些内容,其中包含在脚本标记内创建的类,但我无法使其可点击。任何人都可以帮忙怎么做?

以下是我的代码的一部分..

$('#three-star').click(function(){
    var id=$('#elements-container').children().length+1;
    $('#elements-container').append('<p id="'+id+'" class = "edit">Type your question here</p>');
});

$('p.edit').click(function(){               
    $('#editor').show();
});

点击&#34时如何show();在此输入您的问题&#34;?

提前致谢。

4 个答案:

答案 0 :(得分:1)

使用event delegation

$('#elements-container').on("click" , 'p.edit',function(){               
            $('#editor').show();
        });

答案 1 :(得分:0)

工作小提琴FIDDLE

使用以下

 $("p.edit").on("click",function(){               
     $('#editor').show();
 });

因为$('p.edit').click(function(){这不支持新动态创建的内容。所以使用on事件。

答案 2 :(得分:0)

<强> Working fiddle here 动态创建段落并将事件添加到元素。

var comment = "Type your question here.";
var newParagraph = document.createElement('p');
newParagraph.textContent = comment;
newParagraph.id = 3;
newParagraph.onclick = function () {
    $('#qs_div').show();
};

答案 3 :(得分:0)

可以将event listener委托给父元素。

$('#container').on('click', '.edit', function(event) {
    // do something
});

当有人点击编辑链接时,该事件会使DOM冒泡并被侦听器捕获。

有关于事件冒泡的更多信息here