(Iris Colorpicker)点击其他地方时隐藏UI小部件

时间:2016-02-12 22:59:33

标签: jquery jquery-ui event-handling jquery-selectors color-picker

我正在项目中使用Automattic的Iris Color Picker,我希望在点击小部件以外的任何地方时关闭选择器小部件。出于某种原因,我无法理解它,我只是不明白它为什么会这样。

请查看this pen。我期望提供此功能的行是

$('body').one('click', ':not(.iris-picker, .iris-picker *)', function(e) {
    e.stopPropagation();
    input.iris('hide');
});

这个想法是将处理程序调用限制为除了选择器和它的后代之外的任何东西。然而,例如,小部件也会被关闭。单击方形手柄或选择器之间的空白区域。我尝试了各种不同的变化(对我来说)莫名其妙的行为。

我刚才能够通过this answer实现可行的解决方案。但是,由于这一直困扰我很长一段时间,我将会如此无礼,仍然会问这个问题。有人可以向我解释我的方法有什么问题吗?

0 个答案:

没有答案