jQuery - 专注于 TR

标签 jquery tablerow focusout

好的,所以我正在制作一个插件,允许在我的网站中内联编辑表格,到目前为止进展顺利,我已经完成了大部分工作,但我似乎无法正确地将焦点移出表格。因此,如果有人完成编辑并开始编辑新行或只是单击该行之外的内容,则应该保存并恢复正常。但是,如果我在行上使用模糊,则没有响应,但如果我在元素上使用模糊,则当人们从一个元素交换到另一个元素时,它会触发

但是,如果我在该行上使用 focusout,那么只要有人离开该元素,即使他们单击同一行,它也会触发。事件变量下也没有任何内容告诉我它将焦点设置在哪个元素上,因此我无法与当前行进行比较以查看它们是否只是在行中单击。

我正在考虑将其保存在 Enter/鼠标单击“保存”按钮/开始编辑另一行上,但我宁愿让它工作,因为它似乎是一种更好的方法。想到有人吗?请问?

最佳答案

我将通过绑定(bind)整个文档的单击处理程序来处理您的请求,然后在其他单击事件中添加 stopPropagation() 调用。我设置了一个 fiddle 来演示:http://jsfiddle.net/NwftK/

<table border="1" width="200">
    <tr id="myRow"><td>Hello</td><td>World</td></tr>
</table>

还有 jQuery:

$(function () {
    $("#myRow").on('click', function (e) {
       $(this).css('background-color', 'blue');
        e.stopPropagation();
    }); 

    $(document).on('click', function () {

       $("#myRow").css('background-color', 'red');
    });

});

关于jQuery - 专注于 TR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410587/

相关文章:

jquery - 设置 jQuery 焦点

javascript - $ ('select option:selected' ).text() 和 Attr.specified 已弃用警告

javascript - 单击具有相同名称的第二类名称

html - 如何在表格单元格中显示多行文本

Android TableRow RelativeLayout 问题

jquery - Focusout 事件在输入事件 jQuery 中的第一次激活时不起作用

javascript - 尝试使用javascript来填充按钮类的标签

javascript - 操作 dom 元素而不修改实际 dom 状态

scala - 将行合并到列表中以获得 SPARK 中的相似值

javascript - 我如何在 if 条件下使用 Angular focusout