0

我们正在使用 W2UI(Javascript UI)控件。它有一个“多选”输入控件,其中包含带有建议数据的关联 div 容器。每当用户单击输入控件时,就会弹出一个建议 div,用户可以从列表中选择多个项目。请在下面找到截图 在此处输入图像描述

我们设置了 div 的溢出:auto 当建议列表有超过 10 条记录时。(参考下面的截图) 在此处输入图像描述

此时,单击滚动条在 Chrome 和 Mozilla 中可以正常工作,但在 IE 中它会关闭/隐藏 div。

我们已经做出了如下的初始 RCA。当滚动条与 div 关联时,单击滚动条会触发该 div 的模糊事件。在 W2UI 库中,模糊事件用于隐藏导致其关闭的建议 div。我们还发现,单击滚动条不会导致在 chrome 和 firefox 中触发模糊事件。

现在我们想在 IE 的情况下在用户点击“滚动条”时抑制模糊事件。我们无法识别滚动条点击。

请分享您关于有条件地抑制 blur() 事件的想法/解决方法。

4

2 回答 2

0

几天前刚刚发布了 w2ui 的更新版本,其中包括多选在内的控件已经过重构。1.4 版本对我来说似乎工作正常。

于 2014-07-20T23:25:29.047 回答
0

我也面临同样的问题,我们在 w2ui 库中进行了一些更改,我们在第一次设置全局变量 flagClick 时为假。并在事件下方添加

var div = $('#w2ui-global-items');
div.on('mouseover', function (event)
{                               
 flagClick = false;
 $('.w2ui-list').find('input').focus();

});
div.on('mouseout', function (event)
{
 flagClick = true;                               
 });

并更改了 div 的模糊事件逻辑如下 -

.on('blur', function (event)
{
if (flagClick)
 {
 $(div).css('outline', 'none');
  obj.hide();
   if (event.stopPropagation) event.stopPropagation(); 
else event.cancelBubble = true;
  }
})

几乎这个逻辑已经解决了我们的问题,除了一个 . 当我们单击搜索文本框时,将填充列表,如果之后我们单击列表滚动条,然后单击外部列表 div,则列表没有隐藏(div 模糊事件没有被触发)。

试试这个解决方案,它会帮助你。如果您得到我们问题的解决方案,请在同一帖子上发布。

于 2014-05-23T06:00:57.397 回答