gpt4 book ai didi

javascript - JQuery Compat Edge 的折旧版本是否意味着此代码将无法运行?

转载 作者:行者123 更新时间:2023-11-28 15:24:55 24 4
gpt4 key购买 nike

当文档准备好时,我无法让 JQuery 初始化我的代码。 Chrome 中的开发人员模式在没有任何标志的情况下运行代码,但也不会加载任何内容。原作者使用了JQuery Compat Edge,which officially was never released .这重要吗?

我使用的代码来自http://jsfiddle.net/Tfs2M/2/ .我研究了herehere并发现很多人的代码加载有问题。 JQuery 在这方面做得很好,所以我做了我认为合适的修改。我注意到尽管作者使用了 Compact Edge。 This was a cutting edge version of JQuery about 3 years ago no longer in use .我认为 JQuery 3.2.1 就足够了,这就是我想出的。

   function starter(GRASP) { //removed $ reference and added a func name.
var GRID_ROWS,
GRID_COLS,
GRID_ELEMENT;

GRASP.config = {
gridContainer: "grid",
matrixContainer: "matrix",
matrixHeader: "matrixHeader"
};

GRASP.start = function () {
GRID_ROWS = $("#rows").val();
GRID_COLS = $("#cols").val();
createGrid();
};

function createGrid() {
//Love to know what the # is doing
GRID_ELEMENT = $("#" + GRASP.config.gridContainer);
var cell; // Contains the 1 or 0 based upon the cell selection
var newGrid = $('<div id="grid" class="gridContainer" ></div>');

//add cells to grid top to bottom with class 'cell and hover attribute
for (var i = 1; i <= GRID_ROWS; i++) {
for (var j = 1; j <= GRID_COLS; j++) {
$("<div class='cell' data-hover-text='"+i+","+j+"'>0</div>")
.appendTo(newGrid);
newGrid.on('click', '.cell', cellClick);
}
}

newGrid.height(38 * GRID_ROWS);
newGrid.width(38 * GRID_COLS);
//add all the new cells to GRID_ELEMENT
GRID_ELEMENT.replaceWith(newGrid);
}
//Changes contents of a cell from 0 to 1, fancy if else statement
function cellClick() {
$(this).text($(this).text() == "0" ? "1" : "0");
}
} // removed the null, false, undefined code since I was using JQuery

我还添加了以下 JQuery。

$(document).ready(function () {
starter();
});

如果有用的话,这里是 HTML。

<html>
<head>
<link rel="stylesheet" type="text/css" href="Coordinate Plane.css">
<script type="text/javascript" src="Coordinate Plane.js"></script>
<script src="jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="Coordinate PlaneJQ.js">
</head>
<body>
<div id="gridLayout" class="gridLayout">
<div id="gridHeader">
<h2>Aperture Configuration:</h2>
Grid Size:
<input id="rows" type="number" min="1" max="50" value="10" width="40"
size="3" onChange="GRASP.start();"/>x
<input id="cols" type="number" min="1" max="50" value="10"
width="40" size="3" onChange="GRASP.start();"/>
</div>
<div id="grid" class="gridContainer"></div>
</div>
</body>
</html>

像这样的帖子被否决了,到目前为止,我已经用 Javascript 编写了大约 3 个程序。如果有更适合初学者的站点,请在评论中留言。

谢谢!

最佳答案

您的脚本不会在不抛出控制台错误的情况下按原样运行。原因是您已经将您引用的 Fiddle 中的代码(不完整,存在各种问题)从立即调用的函数“类”“半转换”为您在此处获得的内容。

问题 #1 是 GRASP 没有定义,因为你修改了 IIFE 最后一部分的方式。

在调用 starter() 之前在某处添加这个可以解决这个问题。

window.GRASP = {};

问题 #2 是您设置了 function starter(GRASP) 来接受要传入的变量 GRASP ,但是您没有传入它,所以它在函数内部仍然是未定义的。我已经删除了它,并将其简化为 function starter()

这是一个有效的 Fiddle使用您的代码,更新后可以正常工作。

关于javascript - JQuery Compat Edge 的折旧版本是否意味着此代码将无法运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45448843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com