单击.html将div添加到div

时间:2013-05-05 02:40:40

标签: javascript jquery

我有一个简单的jQuery脚本设置,可以在单击div时向div添加输入框。 唯一的问题是,当我在输入框中点击添加文字时,它会认为我再次点击了div并尝试再次添加输入框,而不是让我添加文字。

$(".match").click(function() {
    var match_id = $(this).find(".match_id").text();
    $(this).find("#bet").html("<div><input type='text'></div>");
});

任何想法如何解决?

1 个答案:

答案 0 :(得分:3)

问题是输入是在div中。所以你需要阻止click事件传播到div。

尝试添加此内容:

$('.match input').click(function(e) {
    e.stopPropagation();
    e.cancelBubble = true;
});

或者,如果您只想将一个输入添加到div中,您可以将事件监听器更改为:

$('.match').one('click', function() {
    ...
});

one()将执行事件侦听器,然后立即从该元素中删除它,因此它只对每个匹配的元素执行最多一次。