0

例: 誰かが入力@すると、関数の準備が整います。

たとえば Twitter では、誰かが入力したときに何かが表示@USERNAMEされ、スペースの後には何も表示されません。

4

2 に答える 2

1

以下に JavaScript の例を示します。

document.getElementById('test').onkeyup = function(oEvent) {
    if (typeof oEvent == 'undefined') oEvent = window.event;          // IE<9 fix
    if (oEvent.keyCode != 32) return;       // stop if character is not the space
    if (/@USERNAME /.test(this.value)) {      // check if @-template is available
        this.value = this.value.replace(/@USERNAME /g, 'Dirk ');    // replace it
    }
}

この jsfiddleも参照してください。

===更新===

ここにjQueryの代替があります:

$('#test').keyup(function(oEvent) {                  // set (keyup) event handler
    if (oEvent.keyCode != 32) return;       // stop if character is not the space
    if (/@USERNAME /.test($(this).val())) {   // check if @-template is available
        $(this).val($(this).val().replace(/@USERNAME /g, 'Dirk ')); // replace it
    }
});

この jsfiddleも参照してください。

于 2012-01-15T09:05:12.080 に答える
0

おそらく、スペースバーを押したときにonkeypressイベントを試すことができます。

于 2012-01-15T08:33:58.200 に答える