Javascript mouseup事件后禁用jQuery上下文菜单
在jQuery中使用自定义文本选择函数时,my contextMenu事件将被禁用 最简单的工作示例,使用javascript和html文件(javascript的数量比它看起来的少):Javascript mouseup事件后禁用jQuery上下文菜单,javascript,jquery,html,contextmenu,Javascript,Jquery,Html,Contextmenu,在jQuery中使用自定义文本选择函数时,my contextMenu事件将被禁用 最简单的工作示例,使用javascript和html文件(javascript的数量比它看起来的少): var markFeature={ getSelected:函数(){ var t=''; if(window.getSelection) t=window.getSelection(); else if(document.getSelection) t=document.getSelection(); el
var markFeature={
getSelected:函数(){
var t='';
if(window.getSelection)
t=window.getSelection();
else if(document.getSelection)
t=document.getSelection();
else if(文档选择)
t=document.selection.creatRange().text;
返回t;
},
applyHighlight:function(){
var st=markFeature.getSelected();
如果(st!='')
{
var-str1='';
var替换=str1.concat(st,“”);
var_st=新的正则表达式(st,“g”);
var replaced=$(“body”).html().replace(\u st,replacement);
$(“正文”).html(已替换);
}
},
register_contextMenu:函数(){
//markFeature.addCSS();
$.contextMenu({
选择器:'*',
项目:{
“项目1”:{名称:“项目1”},
“项目2”:{名称:“项目2”},
}
});
},
init:function(){
$(document.bind(“mouseup”,markFeature.applyHighlight);
}
};
$(文档).ready(markFeature.register\u上下文菜单);
$(document).ready(markFeature.init)代码>
右键单击我强>
正则表达式搜索body标记和body标记中的所有HTML。上下文菜单的HTML是由contextMenu JS在body标记中添加的,因此它会被更改和中断
我删除了getSelected
和正则表达式。我将其替换为改编自:
.亮点{
背景色:#00E000;
}
var cssApplier,markFeature;
window.onload=函数(){
rangy.init();
cssApplier=rangy.createCssClassApplier(“突出显示”{
正常化:正确
});
};
$(this).on(“mouseup”,function()){
cssApplier.applyToSelection();
});
标记特征={
register_contextMenu:函数(){
$.contextMenu({
选择器:“*”,
项目:{
项目1:{
名称:“第1项”
},
项目2:{
名称:“第2项”
}
}
});
},
init:function(){
$(document.bind(“mouseup”,markFeature.applyHighlight);
}
};
$(文档).ready(markFeature.register\u上下文菜单);
$(document).ready(markFeature.init);
带有body标签的contextMenu的javascript如何?此外,此功能需要适用于一般网页。因此,我们没有要搜索的预定义div,只搜索网页正文,正文将由文本组成。我已根据您的反馈改写了我的答案。如果您认为答案回答了您的问题,请将其标记为正确答案。然而,你没有义务。
<script src="http://rangy.googlecode.com/svn/trunk/currentrelease/rangy-core.js"></script>
<script src="http://rangy.googlecode.com/svn/trunk/currentrelease/rangy-cssclassapplier.js"></script>
<style type="text/css">
.highLight {
background-color: #00E000;
}
</style>
<script>
var cssApplier, markFeature;
window.onload = function() {
rangy.init();
cssApplier = rangy.createCssClassApplier("highLight", {
normalize: true
});
};
$(this).on("mouseup", function() {
cssApplier.applyToSelection();
});
markFeature = {
register_contextMenu: function() {
$.contextMenu({
selector: "*",
items: {
item1: {
name: "item-1"
},
item2: {
name: "item-2"
}
}
});
},
init: function() {
$(document).bind("mouseup", markFeature.applyHighlight);
}
};
$(document).ready(markFeature.register_contextMenu);
$(document).ready(markFeature.init);
</script>