高亮显示文本后打开下拉菜单
open dropdown menu after highlighting text
我试图在网页上突出显示文本后打开一个下拉菜单,但下拉菜单没有打开。此外,我已经将对象转换为字符串,这样当您在窗口中单击但没有选择任何文本时,它就不会打开,我应该创建一个DIV而不是字符串吗?
html:
<ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
<li><a href="#">comment</a></li>
<li><a href="#">message</a></li>
</ul>
js:
function getSelected() {
if (window.getSelection) {
return window.getSelection();
}
else if (document.getSelection) {
return document.getSelection();
}
else {
var selection = document.selection && document.selection.createRange();
if (selection.text) {
return selection.text;
}
return false;
}
return false;
}
var selection = getSelected();
function checkObj(){
var a = String(selection);
var b = a.length;
if (b > 0){
$('.dropdown-menu').dropdown('toggle');//this isn't working
}
}
$(window).mouseup(function() {
var a = checkObj(selection);
});
更新:我有一个菜单要显示,但只有当我突出显示文本,然后将指针拖到我工作的文本框外时,它才会显示,但如果我只突出显示一个单词,它就不起作用了。此外,我可以让下拉列表显示在我高亮显示的文本上。
http://liveweave.com/vDCkDp
$('.dropdown-menu').dropdown('toggle');
由于dropdown
函数可能会检查点击事件或其他什么,因此无法工作。
$('.dropdown-menu').show();
似乎能正确打开菜单,需要手动编写js代码才能关闭菜单,请参阅https://css-tricks.com/dangers-stopping-event-propagation/以获取在元素外部单击时关闭元素的正确方式。
相关文章:
- JS下拉菜单显示在图像旋转器上
- 如何使我的下拉菜单显示/对齐
- 根据所选的下拉菜单显示HTML
- 如何根据每个下拉菜单显示图像
- 如何在我的js下拉菜单/显示内容框上的不同内容之间切换
- j查询下拉菜单显示不正确
- 使用数据的下拉菜单 - 显示子菜单
- 下拉菜单显示效果
- 如何使下拉菜单显示在幻灯片上
- 如何使下拉菜单显示在对话框顶部
- 使用html下拉菜单显示none和block
- 如何保持CSS/HTML下拉菜单显示部分离开页面
- 根据下拉菜单显示多个字段
- 根据下拉菜单显示月份和年份
- 我的下拉菜单显示不太好用
- 下拉菜单显示问题
- Jquery下拉菜单显示/隐藏多个
- 如何保持菜单下拉菜单显示,导航菜单项和下拉菜单项并关闭'close'按钮
- 需要我的下拉菜单显示多个
- 垂直下拉菜单显示子菜单,当单击另一个菜单项时关闭前一个菜单项