我试图阻止点击事件在字符长度大于10时附加到html元素,但我想我遇到语法错误我无法弄清楚
(只是更多信息。这是一个可选的计算器项目,并且可能有更优雅的方式来做到这一点,但我们应该尝试一下,没有任何真正深入的JS / jQuery学习。这是我的jsFiddle,我将其用于测试代码,然后再将其放入我的文件中。
我认为最简单的方法是将每个数字推入一个元素(屏幕中继),然后抓住整个数据并应用eval()。我试图让控制台报告何时注册超过10的字符限制,但我没有收到任何内容。谢谢指点! (编辑:因为举止)
https://jsfiddle.net/vx09p7kk/
// Evaluate value of screen
$("#equals").click(function() {
var x = ($("#screen-relay").text());
var finalValue = eval(x);
console.log(finalValue);
$("#output").html(finalValue);
});
// Clear Function
$("#clear").click(function() {
($("#screen-relay, #output").text(""));
});
// Char Limit Function
var CharCount = ($("#screen-relay").text().length);
if(CharCount > 10) {
console.log(bam)
};
答案 0 :(得分:0)
请你看看下面更新的小提琴链接:
https://jsfiddle.net/vx09p7kk/4/
我只是添加了一个计数器totalCharEntered
,它会在每次插入字符时递增,并在我们点击清除按钮时被清除:
// Buttons
var totalCharEntered = 0;
$("#one").click(function() {
if(totalCharEntered <10){
$("<span>1</span>").appendTo("#screen-relay");
totalCharEntered++;
}
});
$("#two").click(function() {
if(totalCharEntered <10){
$("<span>2</span>").appendTo("#screen-relay");
totalCharEntered++;
}
});
$("#plus").click(function() {
if(totalCharEntered <10){
$("<span>+</span>").appendTo("#screen-relay");
totalCharEntered++;
}
});
// Clear Function
$("#clear").click(function() {
($("#screen-relay, #output").text(""));
totalCharEntered = 0;
});
我认为它会对你有所帮助。