Javascript 制作虹膜&x27;s颜色选择器在';没有聚焦
我的HTML:Javascript 制作虹膜&x27;s颜色选择器在';没有聚焦,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的HTML: <input type="text" id='color-picker' value="#bada55" /><br /> 我的朋友: 如果没有模糊/聚焦功能,如果单击文本输入,颜色选择器将出现并且永远不会消失。使用模糊/聚焦功能,如果你点击颜色选择器,它会出现,但如果你真的选择了一种颜色,它就会消失 如果附加的文本输入或html合成本身失去焦点,我希望颜色选择器消失。单击颜色选择器中的颜色不应使其消失。不幸的是,我不知道如何让它做到这一点。有什么想法吗
<input type="text" id='color-picker' value="#bada55" /><br />
我的朋友:
如果没有模糊/聚焦功能,如果单击文本输入,颜色选择器将出现并且永远不会消失。使用模糊/聚焦功能,如果你点击颜色选择器,它会出现,但如果你真的选择了一种颜色,它就会消失
如果附加的文本输入或html合成本身失去焦点,我希望颜色选择器消失。单击颜色选择器中的颜色不应使其消失。不幸的是,我不知道如何让它做到这一点。有什么想法吗?
jQuery(文档).ready(函数($){
$(“#颜色选择器”).iris();
$(“#颜色选择器”).focus(函数(){
$(“#颜色选择器”).iris('show');
$('.iris-picker').addClass('active');
});
$(文档)。在('单击')上,函数(事件){
var clicked=$(event.target),
$iris=$('.iris选择器');
if($iris.hasClass('active')&&&!clicked.is('.iris picker')&&!clicked.is('#color picker')){
$(“#颜色选择器”).iris('hide');
$iris.removeClass('active');
}
});
});代码>
zzz
jQuery(文档).ready(函数($){
$(“#颜色选择器”).iris();
$(“#颜色选择器”).focus(函数(){
$(“#颜色选择器”).iris('show');
$('.iris-picker').addClass('active');
});
$(文档)。在('单击')上,函数(事件){
var clicked=$(event.target),
$iris=$('.iris选择器');
if($iris.hasClass('active')&&&!clicked.is('.iris picker')&&!clicked.is('#color picker')){
$(“#颜色选择器”).iris('hide');
$iris.removeClass('active');
}
});
});代码>
zzz
您可以通过如下方式检查您是在颜色选择器内部还是外部单击:
jQuery(文档).ready(函数($){
$(“#颜色选择器”).iris();
$(“#颜色选择器”).blur(函数(){
setTimeout(函数(){
if(!$(document.activeElement).closest(“.iris picker”).length)
$(“#颜色选择器”).iris('hide');
其他的
$(“#颜色选择器”).focus();
}, 0);
});
$(“#颜色选择器”).focus(函数(){
$(“#颜色选择器”).iris('show');
});
});代码>
zzz
您可以通过如下方式检查您是在颜色选择器内部还是外部单击:
jQuery(文档).ready(函数($){
$(“#颜色选择器”).iris();
$(“#颜色选择器”).blur(函数(){
setTimeout(函数(){
if(!$(document.activeElement).closest(“.iris picker”).length)
$(“#颜色选择器”).iris('hide');
其他的
$(“#颜色选择器”).focus();
}, 0);
});
$(“#颜色选择器”).focus(函数(){
$(“#颜色选择器”).iris('show');
});
});代码>
zzz
你所说的html自身组合是什么意思?@LuckySoni-用于创建颜色选择器的html。它从“检查此元素”的div class=“iris-picker-iris-mozilla-iris-border”style=“display:block”
等开始。您所说的html自身构成是什么意思?@LuckySoni-用于创建颜色选择器的html。它从“检查此元素”的div class=“iris picker iris-mozilla iris-border”style=“display:block”
等开始。您可以使用模糊事件中的信息,而不是使用setTimeout更新activeElement:$(e.originalEvent.explicitOriginalTarget)。最近(..
而不是使用setTimeout来更新activeElement,您可以使用模糊事件中的信息:$(e.originalEvent.explicitOriginalTarget).closest(..
jQuery(document).ready(function($){
$('#color-picker').iris();
$('#color-picker').blur(function() {
$('#color-picker').iris('hide');
});
$('#color-picker').focus(function() {
$('#color-picker').iris('show');
});
});