我有一个隐藏孩子的div
。单击div
将切换孩子的可见性。这很有效。
现在用户想要在孩子中选择一些文本。拖动选择有效,但只要释放鼠标按钮,div
就会关闭(因为inClick
处理程序)。
如果可能的话,我仍然希望能够从孩子的任何地方关闭div
因为孩子可能很大(数百行,所以滚动到{{{{{{{{ 1}}切换孩子。)
需要使用IE6 +和所有理智的浏览器。我不能直接使用jQuery :-(但我可以从jQuery复制代码,所以如果jQuery有一个解决方案,我克隆它。
建议?
答案 0 :(得分:1)
您可以在DIV侧面进行切换控制:
toggle.onclick = function () {
if ( this.className === 'closed' ) {
this.className = '';
content.style.display = '';
} else {
this.className = 'closed';
content.style.display = 'none';
}
};
答案 1 :(得分:0)
在关闭内部div之前,您可以检查window.getSelection()
以查看它是否包含任何内容。
对于IE6,您需要将其替换为document.selection
。
请注意,这是IE的专有权,因此您需要通过对象检测来区分使用哪种方法。