使追加只在第一次发生

时间:2011-09-19 19:50:47

标签: javascript jquery

我在列表中有一个触发此事件的按钮:

JS:

$(this).parents('tr')
       .find('.class')
       .append("<input type='text' size='5'/>");

有可能在第一次发生这种追加吗?

就像return false一样,不知道。

谢谢!

2 个答案:

答案 0 :(得分:6)

假设click事件发生此行为,您可以使用one。如,

$('#my-button').one('click', function(e) {
    e.preventDefault();
    $(this).parents('tr')
       .find('.class')
       .append("<input type='text' size='5'/>");
});

<小时/> 修改:使用delegate

var selector = '#my-button',
    handler = function(e) {
        // prevent default behavior
        e.preventDefault();
        // make sure this only runs once
        $(document).undelegate(selector, 'click', handler);
        // actual behavior
        $(this).parents('tr')
           .find('.class')
           .append("<input type='text' size='5'/>");
    };
$(document).delegate(selector, 'click', handler);

答案 1 :(得分:2)

尝试使用one()方法,而不是点击()。