我有一个应用程序,我需要更新数字,为此,我计划,当我点击数字容器,我将其转换为带有jquery的输入字段,然后在模糊我想要将其关闭为容器div内的纯文本然后触发ajax在DB中更新它,但是第一次模糊甚至没有触发 我的意思是,如果我点击数字上的最后时间,它会将其转换为输入字段,当我点击侧面(模糊均匀)时,模糊功能无效,如果我再次单击并单击侧面,则它工作正常。
这是我的代码。
<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>
任何帮助/建议都会有所帮助。
答案 0 :(得分:4)
这是因为当您第一次点击div
时,输入框未获得焦点。没有焦点,就没有模糊。在创建它之后尝试给它重点......
function wrap(sel) {
sel.html('<input onblur="unwrap($(this));" value="' + sel.html() + '" />');
sel.attr('onclick', '');
$("input").focus();
}
答案 1 :(得分:0)
试试这个.. 首先是Javascript,然后是DOM调用
<script>
function wrap(sel) {
sel.html('<input onblur="unwrap($(this));" value="' + sel.html() + '" />');
sel.attr('onclick', '');
}
function unwrap(child) {
alert('Unwrapping');
}
</script>
<div onclick="javascript:wrap(jQuery(this));">999999999</div>