我有一段代码,可以通过右键单击页面中的一个输入来创建上下文菜单。该代码应该在输入中添加“ {Keyword:}”。问题是当我在所有使用的模态下方添加JS时停止工作(不显示)。单击按钮即可激活模态。
转换菜单HTML:
<div id='cntnr'>
<ul id='items'>
<li>{Keyword:fallback}</li>
<li>{KeyWord:fallback}</li>
</ul>
</div>
Contexctual菜单JS:
$("#headline11").on("contextmenu",function(e){
e.preventDefault();
$("#cntnr").css({"left": e.pageX-3, "top": e.pageY-3});
$("#cntnr").fadeIn(200, startFocusOut);
});
function startFocusOut(){
$(document).on("click",function(){
$("#cntnr").hide();
$(document).off("click");
});
}
$("#items > li").click(function(){
$("#headline11").val($(this).text().replace("fallback", " "));
var input1 = document.getElementById("headline11");
setInputSelection(input1, 9, 10);
});
按钮:
<button onclick="load();setTimeout(myFunction, 10)" class="myBtn1" data-toggle="modal" data-target="#build">1 - Create campaign</button>
模式:
<div class="container">
<!-- Modal Preview-->
<div class="modal fade" id="build" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"></button>
<h4 class="modal-title">Your Campaign Preview1</h4>
</div>
<div class="modal-body">
<div id="hoursSaved"></div>
Some text here.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
当我在输入和提交中使用{Keyword:Whatever here}时,模态会停止工作,但是当我删除JS时,除了上下文菜单外,所有功能都起作用了。
我花了几个小时来调试代码,并找出导致问题的部分,但我无法理解原因。您的帮助将不胜感激。
谢谢
编辑:这是注释中要求的JsFiddle。您必须在每个测试之间运行代码才能看到差异。 https://jsfiddle.net/yagami889/xpvt214o/470697/ 您必须使用上下文菜单添加{Keyword:},您可以在“:”之后输入所需的任何内容,如果您将其删除,将无法使用。
答案 0 :(得分:0)
我找到了答案。我必须使用:
function startFocusOut(){
$(document).on("click",function(){
$("#cntnr").hide();
$(document).off("click");
});
}
代替:
$ git reset <dir>