【发布时间】:2009-11-12 22:51:13
【问题描述】:
基本上我在ul 上使用jQuery ui's selectable 功能,但是 ul 经常会有一个滚动条,并且这个滚动条在 Webkit 浏览器中变得无法使用,因为当您尝试单击它来抓取它时,套索用于可选功能被绘制在顶部。
我制定了一个解决方案,其中包括检查光标的位置相对于 ul 的位置和宽度,以查看光标是否在滚动条上,如果是,则停止传播可选择的“开始”事件, 但是尽管条件在应该满足的时候得到满足,但返回 false 或停止事件的传播似乎都不会阻止 jQuery 处理可选事件。
这是我为 jQuery .selectable start 事件准备的:
start: function(event, ui) {
var t = event.target;
var cutoff = t.scrollWidth + t.offsetLeft
if (event.clientX > cutoff)
{
console.log('NO!');
console.log(event.type);
//overkill
event.stopPropagation();
event.stopImmediatePropagation();
if (event.stopPropagation) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
return false;
}
}
感谢所有建议/解决方案。
【问题讨论】:
-
当您说“可选功能的套索被绘制在上方”时,您指的是什么套索?可以截图吗?
标签: javascript jquery jquery-ui jquery-events jquery-ui-selectable