【发布时间】:2014-04-11 01:07:13
【问题描述】:
我正在使用带有以下 sn-p 的 jQuery 2.0.3:
function fixTextbox(element) {
var span = "<span class='k-widget k-autocomplete k-header k-state-default'></span>";
var wrap = $(element).wrap(span);
}
$(document).on("focus", ".k-textbox", function() {
console.debug("focus");
fixTextbox(this);
$(this).parent().addClass("k-state-focused");
});
$(document).on("blur", ".k-textbox", function() {
console.debug("blur");
$(this).parent().removeClass("k-state-focused");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<input type="text" class="k-textbox" />
这里的问题是,当我执行.wrap 时,它会取消绑定模糊事件。
是否有其他方法可以将输入封装在不会丢失事件的跨度中?还是应该在包装后手动重新附加事件?
【问题讨论】:
-
提供一个 jsfiddle 来复制您的问题。处理程序不应该被删除,无论如何你在这里委派事件
-
如何失去模糊?
-
我认为问题在于包装元素导致浏览器中的重排从输入元素中移除焦点
-
@Arun P Johny:您的 jsfiddle 似乎准确地显示了问题。
标签: javascript jquery binding