0

如何比较javascript中的符号?我的程序中有一个左箭头,但它不起作用:

<input type="button" id="backspace" value="&#8592" />
document.getElementById("backspace").onclick=function (){display_ctrl(this.value);};
function display_ctrl(parameter){
      if (parameter=="&#8592"){alert("this is a left arrow");}

如何比较它是否是特定符号?

4

3 回答 3

3

尝试改用 Unicode -"\u2190"是左箭头。

> "&#8592"
"&#8592"
> "\u2190"
"←"

然后您的代码将变为(我已将其格式化为更具可读性):

document.getElementById("backspace").onclick = function() {
    display_ctrl(this.value);
}
function display_ctrl(parameter) {
    if (parameter == "\u2190") {
        alert("this is a left arrow");
    }
}
于 2013-07-11T13:05:33.517 回答
1

左箭头?所以你在你的剧本上开了一箭,不是吗?

开个玩笑。为什么不直接比较符号?

if (parameter == '\u2190') 
    alert('Left arrow!');
于 2013-07-11T13:05:44.533 回答
0

您的回调错误,您需要将回调引用传递给onclick属性,而不是display_ctrl在这种情况下返回的值undefined

document.getElementById("backspace").onclick=display_ctrl;
function display_ctrl(){
    var parameter = this.value
    if (parameter=="&#8592"){
        alert("this is a left arrow");
    }
}
于 2013-07-11T13:05:24.000 回答