Javscript:破坏我的模态的一段代码

时间:2018-07-24 01:28:11

标签: javascript bootstrap-modal

我有一段代码,可以通过右键单击页面中的一个输入来创建上下文菜单。该代码应该在输入中添加“ {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:},您可以在“:”之后输入所需的任何内容,如果您将其删除,将无法使用。

1 个答案:

答案 0 :(得分:0)

我找到了答案。我必须使用:

function startFocusOut(){
   $(document).on("click",function(){
   $("#cntnr").hide();        
   $(document).off("click");
   });
 }

代替:

$ git reset <dir>