使用右键单击选择更新上下文菜单
Update Context Menu with right-click selection
我有一些代码可以在进行选择时更新上下文菜单。 我的内容代码是:
document.addEventListener('selectionchange', function() {
var selection = window.getSelection().toString().trim();
chrome.runtime.sendMessage({
request: 'selectionChanged',
selection: selection
});
});
后台代码捕获消息并更新上下文菜单。
如果我使用鼠标左键(拖动以突出显示、双击等)选择文本,然后调出上下文菜单,这工作正常,但如果右键单击尚未突出显示的单词,则不起作用。 据我所知,问题是在处理选择更改消息和更新菜单之前,上下文菜单被调出。
如何在显示菜单之前使用右键单击选择更新上下文菜单?
只需运行一个间隔并使用window.getSelection().toString().trim()
检查选择中的更改即可。
下面是我的意思的一个粗略示例:
var selection="";
setInterval(function(){
if(selection!=window.getSelection().toString().trim()){
selection=window.getSelection().toString().trim();
chrome.runtime.sendMessage({
request: 'selectionChanged',
selection: selection
});
}
},500);
或者你可以按照这家伙的建议去做:Javascript:如何检测单词是否突出显示
相关文章:
- 将函数的上下文应用于javascript变量
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 使用JQuery的动态上下文菜单
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- 使用右键单击选择更新上下文菜单
- 变量“this”上下文在重新赋值变量后未更新
- Django 1.9如何在视图中自动更新上下文
- 更新CKeditor,现在复制/剪切上下文菜单选项消失了.我怎样才能把它们找回来
- 如何在嵌入组件中应用父组件的上下文并更新子组件
- 如何在django模板更改后通过AJAX调用更新加载上下文变量