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_ctrlundefined

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 に答える