当我直接将其复制到括号中时,为什么我的JavaScript代码不起作用?

时间:2018-06-11 14:03:29

标签: javascript jquery html

我目前正试图在这个链接中测试JSfiddle中的代码:http://jsfiddle.net/yeyene/GYuBv/2/在Brackets中。

使用Javascript:

$('#showSelected').on('click', function(){
    var text = "";
    if (window.getSelection) {
        text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") {
        text = document.selection.createRange().text;
    }
    alert(text);    
});

HTML:

<div>
    <p>The quick brown fox jumps over the lazy dog</p>
</div>
<br />
<input id="showSelected" type="button" value="showSelected" />

我已将代码输入括号中。我已将jQuery链接到标题的顶部,但每当我运行代码时,按下按钮时JavaScript都不会执行。

这是括号中的代码,但不起作用。我最近设置了括号并将文件类型设置为HTML。我不确定我是否应该设置我错过的任何设置。My Brackets Code

支架:

<html>

<head>

    <script src="jquery-3.3.1.min.js"></script>
    <script>
        $('#showSelected').on('click', function() {

            var text = "";
            if (window.getSelection) {
                text = window.getSelection().toString();
            } else if (document.selection && document.selection.type != "Control") {
                text = document.selection.createRange().text;
            }

            alert(text);
        });

    </script>

</head>


<div>
    <p>The quick brown fox jumps over the lazy dog</p>
</div>
<br />

<input id="showSelected" type="button" value="showSelected" />

</html>

由于

3 个答案:

答案 0 :(得分:4)

<script>代码将在<input>呈现之前执行。

为了在整个文档准备好后执行代码,请将其包装好 $(document).ready(function() { // stuff });

&#13;
&#13;
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script>
    $(document).ready(function() {
      $('#showSelected').on('click', function() {

        var text = "";
        if (window.getSelection) {
          text = window.getSelection().toString();
        } else if (document.selection && document.selection.type != "Control") {
          text = document.selection.createRange().text;
        }

        alert(text);
      });
    });
  </script>
</head>

<body>
  <div>
    <p>The quick brown fox jumps over the lazy dog</p>
  </div>
  <br />

  <input id="showSelected" type="button" value="showSelected" />
</body>

</html>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您必须在

中添加您的Javascript代码
$(document).ready(function() { /*javascript code here */ }

答案 2 :(得分:-2)

我相信你是HTML和Js的新手。从你的问题来看,除了你可能还没有加载jQuery库之外,一切看起来都是正确的。 (jQuery的3.3.1.min.js)。

加载库,每件事都应该运行良好