Js внешний файл не работает, но на странице он работает. Зачем? - PullRequest
0 голосов
/ 06 ноября 2018

Я создал правильный код открытого меню, в котором, когда я добавляю код js во внешний файл, он не работает, а когда я добавляю его на эту страницу, он работает.

Да, есть много сообщений в stackoverflow, которые имеют ту же проблему, но я пытаюсь сделать так, чтобы все решения были там. Затем, после того как я создал таким образом пост.

Даже я добавил wimdow load, Document load и все функции, но это не работает.

Ниже приведен мой js-код, как я его делаю, как при добавлении в js-файл он будет работать.

$(document).ready(function() {
//$(function() {
  var doubleClicked = false;
  $(document).on("contextmenu", function (e) {
   if(doubleClicked == false) {
    e.preventDefault();
    var windowHeight = $(window).height()/2;
    var windowWidth = $(window).width()/2;
    if(e.clientY > windowHeight && e.clientX <= windowWidth) {
      $("#arltcntn").css("left", e.clientX);
      $("#arltcntn").css("bottom", $(window).height()-e.clientY);
      $("#arltcntn").css("right", "auto");
      $("#arltcntn").css("top", "auto");
    } else if(e.clientY > windowHeight && e.clientX > windowWidth) {
      $("#arltcntn").css("right", $(window).width()-e.clientX);
      $("#arltcntn").css("bottom", $(window).height()-e.clientY);
      $("#arltcntn").css("left", "auto");
      $("#arltcntn").css("top", "auto");
    } else if(e.clientY <= windowHeight && e.clientX <= windowWidth) {
      $("#arltcntn").css("left", e.clientX);
      $("#arltcntn").css("top", e.clientY);
      $("#arltcntn").css("right", "auto");
      $("#arltcntn").css("bottom", "auto");
    } else {
      $("#arltcntn").css("right", $(window).width()-e.clientX);
      $("#arltcntn").css("top", e.clientY);
      $("#arltcntn").css("left", "auto");
      $("#arltcntn").css("bottom", "auto");
    }
    $("#arltcntn").fadeIn(50, FocusContextOut());
      doubleClicked = true;
    } else {
      e.preventDefault();
      doubleClicked = false;
      $("#arltcntn").fadeOut(50);
    }
  });
  function FocusContextOut() {
    $(document).on("click", function () {
      doubleClicked = false; 
      $("#arltcntn").fadeOut(50);
      $(document).off("click");           
    });
  }
});
#arltcntn {
     display: none; position: fixed; border: 1px solid #b1b0b0; width: 250px; padding: 10px 0px 10px 15px; background: #ffffff; box-shadow: 2px 2px 2px 0px #989898; border-radius: 1px; z-index: 99999;
     
     }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="arltcntn">hello world i am menu</div>

Это не спам-публикация, я изучаю stackoverflow и пытаюсь это сделать, но это не помогло. Я верю в свой вопрос, это будет полезно для таких, как я, ребята.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

На самом деле, вам не хватает файла скрипта для добавления вашей HTML-страницы.

После включения библиотеки jquery вы должны включить свой файл javascript

Как,

<script type="text/javascript" src="yourfile.js"></script>
0 голосов
/ 06 ноября 2018

Необходимо убедиться, что вы ссылаетесь на файл JQuery перед файлом, из которого вы пытаетесь загрузить скрипт.

...