不知道如何解决这个问题。
我使用 jQuery.focus()
和 jQuery.focusout()
触发 Ajax 请求并在 WordPress 中重命名帖子。这段代码在 Chrome 和 Firefox 中工作正常,但我无法让它在 IE 上工作。
片段:
$('.editname').on('click', function() {
var input = $('<input id="editcat" type="text" name="editcat" value="' + name + '" />');
input.appendTo($(this));
$("#editcat").focus();
});
$(".editname").focusout(function() {
$(this).children('input').detach();
$(this).children('span').show();
});
工作示例: http://jsfiddle.net/moraleida/fE5Tq/3/
似乎 focusout() 事件是在 IE 中的 appendTo
之后调用的,在浏览器有时间 focus()
附加的输入之前。
是否有已知的解决方法?
编辑
将 focusout
更改为 blur
不起作用。显然,问题在于调用 $("#editcat").focus();
会使 .editname
失去焦点/模糊。如果我评论该行,输入显示正常,但当我单击以聚焦于它时,它会分离。
最佳答案
尝试模糊事件
$(".editname").on('blur', function() {
$(this).children('input').detach();
$(this).children('span').show();
});
关于IE 中 jQuery focus() 和 focusout() 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809388/