我有一个像这样的简单网页:
/*global define*/
/*jslint vars: true, plusplus: true, devel: true, nomen: true, indent: 4, maxerr: 50*/
/*global $ */
$(function alap() {
"use strict";
var TEST_BOXCOUNT = 5;
function Tile(name, date, time, description) {
this.name = name;
this.date = date;
this.time = time;
this.description = description;
}
$('#boxCount').on('input', function(event) {
var boxCount = Number(event.target.value);
var boxContainer = $('#boxContainer');
boxContainer.empty();
console.log("so far so good");
for (var i = 1; i <= boxCount; i++) {
console.log("in loop");
var box = $('<div>').addClass('box');
boxContainer.append(box);
}
})
});
#controls>label {
display: block;
}
#boxes {
margin-top: 10px;
}
.box {
height: 20px;
margin: 5px;
width: 20px;
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="controls">
<label for="boxCount">Box count?</label>
<input type="text" id="boxCount">
</div>
<div id="boxContainer"></div>
本意是将一些方 block 作为方 block 进行下拉,数量为输入值。我输入了这些日志,实际上它们执行,我看到了适当的log
调用计数。问题是什么都没有出现。
奇怪的是,在 JSFiddle
中使用完全相同的代码,但不确定为什么没有框出现在这里。我请求帮助解决这个问题。
编辑:
如您所见,我有一个 TEST_BOXCOUNT
和一个 Prototype
定义。我现在不使用它们,但稍后我会让这些框可以点击并显示一些信息。不过在这种情况下他们不应该做任何事情。
它记录的内容:
alap.js:20 so far so good
alap.js:22 in loop
alap.js:20 so far so good
12 alap.js:22 in loop
最佳答案
真的没什么可说的了。我只是将我所有的东西复制粘贴到一个新文件夹中,它就像一个魅力。
我唯一能想到的是,我的旧元素在我的 OneDrive
文件夹中,它可能受到保护(以防病毒执行),或者因为我的网络连接速度慢,它会超时出去。这些只是假设,我真的不知道它为什么有效,但它确实有效。
再一次,将您的元素移动到不在云保护程序文件夹中的任何位置,它可能会解决问题。
关于javascript - 简单的 JS 执行但不做任何事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46522952/