首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用blur() jquery可编辑的输入文本

使用blur() jquery可编辑的输入文本
EN

Stack Overflow用户
提问于 2013-07-04 00:33:21
回答 1查看 247关注 0票数 0

我在使用jquery blur()函数时遇到了问题,下面是代码:

代码语言:javascript
复制
<a class="quick_edit_title" s="1" u="/administrator/user-group/index/edit/1">Admin</a>
<a class="quick_edit_title" s="1" u="/administrator/user-group/index/edit/2">User</a>
<a class="quick_edit_title" s="1" u="/administrator/user-group/index/edit/3">Mod</a>

在使用click时,我使用带有可编辑元素的Jquery Ajax

代码语言:javascript
复制
$(document).ready(function () {
    $('.quick_edit_title').each(function () {
        $(this).click(function () {
            var url = $(this).attr('u');
            var status = $(this).attr('s');
            var title = $(this).html();
            var old_element = this;
            var input = $("<input type='text' size='45' value='" + title.replace(/'/gi, "\\'") + "' class='input_quick_edit'/>");

            //$(this).replaceWith(input).blur(function() {
            //alert(this.value);
            //});  

        });
    });
});

当我单击可编辑<a>时。添加了元素<input/>,但当我使用jquery的blur()函数时,我无法获取<input/>元素的value,并且在模糊时返回元素<a>

EN

回答 1

Stack Overflow用户

发布于 2013-07-04 00:38:13

尝试如下所示:

代码语言:javascript
复制
$(document).on('click', '.quick_edit_title', function(){
    var url = $(this).attr('u');
    var status = $(this).attr('s');
    var title = $(this).html();
    var input = $("<input type='text' size='45' value='" + title.replace(/'/gi,"\\'") + "' class='input_quick_edit'/>");

    $(this).replaceWith(input); 
}).on('blur', '.input_quick_edit', function() {
    alert(this.value);
});

无需遍历.each()并为类分配单击处理程序,您只需使类的单击处理程序、替换内容并链接blur函数即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17453445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档