javascript - Onblur 事件不是第一次触发

标签 javascript jquery html ajax

我有一个应用程序,我需要更新数字,为此,我计划如下,当我单击数字容器时,我将其转换为 jquery 的输入字段,然后在模糊时我想将其关闭为容器div内的纯文本,然后触发ajax在数据库中更新它,但第一次模糊甚至没有触发 我的意思是,如果我第一次单击数字,它会将其转换为输入字段,当我单击外侧(甚至模糊)时,模糊功能不起作用,如果我再次单击并单击外侧,则它工作正常。

这是我的代码。

   <div onclick="wrap($(this))">999999999</div>

<script>    
function wrap(sel)
                        {
                        sel.html('<input onblur="unwrap($(this));" value="'+sel.html()+'" />');
                        sel.attr('onclick','');
                        }
                        function unwrap(child)
                        {
                        alert('Unwrapping');
                        }
</script>

任何帮助/建议都会有帮助。

最佳答案

这是因为当您第一次点击div时,输入框没有获得焦点。没有焦点,就没有模糊。创建后尝试给予它焦点...

function wrap(sel) {
    sel.html('<input onblur="unwrap($(this));" value="' + sel.html() + '" />');
    sel.attr('onclick', '');
    $("input").focus();
}

fiddle :http://jsfiddle.net/Pwb4y/

关于javascript - Onblur 事件不是第一次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21845577/

相关文章:

facebook 点赞按钮 (box_count) 点赞计数与 Graph API 不同

javascript - 在没有文本输入的情况下显示 eonasdan.github datetimepicker

javascript - 如何将模态图像放入帖子中从 Wordpress 内容插入的图像?

javascript - 将元素(作为 jQuery 对象)作为参数传递给函数

javascript - 使用 JavaScript/jQuery 在 HTML 表中显示数据

javascript - 设置相对于 `window.innerHeight` 的高度不起作用

javascript - 使用 Javascript 将 SVG 路径点串在一起

javascript - f.checkbox - 如何添加立即提交的onclick?

jQuery 导航标题

html - 使用 Doctype 强制 Quirks 模式