我在Jquery-UI selectable
元素中有一个输入元素。我想在输入外部点击时发出blur
事件,但由于容器的原因,selectable
元素不会传播mousedown
。
示例here。
如何触发blur
事件?
答案 0 :(得分:2)
在处理复杂的UI内容时,我经常遇到这些问题,请尝试一下:
代码正在做的是将psuedo-blur事件注册到仅触发一次的文档,然后解除绑定。只有当目标 NOT 注册它的输入时才会触发该事件...这可能适用于所有输入,或者特定的输入,具体取决于您向选择器输入的内容:)
$(document).ready(function(){
$('#selectable').selectable({});
$("input").on("focus", function(e) {
var $input = $(this);
$(document).on("mouseup", function(e2) {
if( !$(e2.target).is( $input )) {
$input.trigger("blur");
$(this).off(e2);
}
});
});
});