【发布时间】:2017-12-31 06:23:17
【问题描述】:
我想做的事:每次点击表格行时,它都会进入编辑模式。当我单击另一行时,我之前单击的行退出编辑模式,而我刚刚单击的行进入编辑模式。
以下代码位于包含的 JavaScript 文件中。我有一个使表格行可编辑的功能。
function editRow(row) {
/* awesome code here */
}
并准备好活动...
$(".editable_title").click(function() {
editRow(this.parentNode);
});`
我尝试过的:
将代码放在
$(document).ready(function() { });之间,但它只适用于第一次点击和第一次编辑提交。但是,如果我再次尝试这样做,它就不起作用了。-
只需将代码本身放入包含的文件中,不带
$(document).ready(function(){ });。然后在 tr 上使用onclick事件。问题:- JavaScript 具有侵入性。
- 如果我多次点击同一行,它会继续多次触发事件;如果我点击不同的行,它们都会同时进入编辑模式。
我知道这只是拥有一个恒定的事件侦听器并使用 unbind 的问题。我尝试使用 .live() 效果很好,但后来我无法让 .die() 工作。
你能给我一些建议吗?
【问题讨论】:
-
看看这个。这就是你要找的。 stackoverflow.com/questions/6752025/…
-
感谢@ShankarSangoli,但我尝试了
.one,但是在我提交更新按钮之后呢?我不能让更多行进入编辑状态。 -
您可以再次调用
one并附加处理程序。 -
我该怎么做?你的意思是我尝试通过再次单击该行再次调用它?它只工作一次。
-
你有没有想过添加一个退出编辑模式的函数,这在
$(".editable_title").click()上被称为第一件事。