【发布时间】:2018-05-03 22:27:10
【问题描述】:
我试图在用户单击一行后将 $(this) 作为参数发送给其他函数,而不是在单击按钮后将一些文本附加到单击的行。
我的问题是我只想追加到最后点击的行,而不是所有行并且只追加一次文本
当我在行上单击 10 次而不是单击按钮时,文本会附加 10 次。
这是我的代码:
$('#Page').on('click', '.row', function(e) {
var ths = this;
addText(ths);
});
function addText(ths) {
$('.addtext').click(function() {
$(ths).append('teeeeeeeeeeeeeeeeeeeeeest');
$('#tools').hide();
ths = null;
});
}
【问题讨论】:
-
天哪,天哪,那里有多个问题……你能提供完整的代码吗? HTML 也是如此
-
When I click 10 times on row and than click button, text append 10 times- 一般来说,不要试图理解为什么要这样做,每次单击时都会添加一个新的单击事件...如果适合,请使用 jQueryone()或从选择器中删除所有绑定事件,并且只绑定到所需的元素。另一方面,为什么每次点击行时都要绑定一个点击事件? -
尝试在函数
addText(ths)中添加 html 而不仅仅是文本。确保 HTML 有一个类或 id,然后在原始的on('click'...)调用中使用if语句进行检查。 -
你能不能也给我们看看你的 HTML
标签: javascript jquery parameter-passing