我想通过在屏幕上添加单击的跨度值来计算用户定义的公式(基本计算器)。 当我想使用Jquery.GlobalEval进行评估时,似乎没有任何事情发生。为什么Jquery.globalEval不能正常工作?
这里是我的html代码:
<div class="screen"></div>
<div class="keys">
<!-- operators and other keys -->
<span>7</span>
<span>8</span>
<span>9</span>
<span>+</span>
<span>4</span>
<span>5</span>
<span>6</span>
<span>-</span>
<span>1</span>
<span>2</span>
<span>3</span>
<span>/</span>
<span>0</span>
<span>.</span>
<span class="eval">=</span>
<span>x</span>
</div>
</div>
这里是我的jQuery代码:
jQuery(function() {
// when C is clicked
$(".clear").click(empty);
var key;
//any of the keys is clicked
$(".keys span").not(".eval").click(function() {
//======================
if($(this).not(".eval")) {
$('.screen').append($(this).html());
}
key = $('.screen').text().replace(/x/g, '*').replace('=', '');
});
$(".eval").click(function() {
alert(calculate());
});
function empty() {
$(".screen").empty();
}
function calculate() {
jQuery.globalEval("var result = "+ key + ";");
}
});
谢谢
什么是错误讯息?请注意,您的警报将始终显示“未定义”,因为您没有从'calculate()'返回任何内容。 – Teemu
@Teemu它不会给我一个错误消息,我会编辑澄清。它只是没有做任何事情 – abedzantout
@Teemu是它给了我未定义的时候,我把计算中的返回语句。 – abedzantout