5

focus()JavaScriptのすべてのHTML要素の関数を上書きしたい。

それ、どうやったら出来るの?

4

2 に答える 2

-1

純粋な JS の場合:

HTML:

<input id="test" type="textfield" />​

JS:

var myInput = document.getElementById("test");
myInput.addEventListener("focus",deFocus(myInput),true);

function deFocus(element) {
    element.setAttribute('readonly','readonly');
    return false;
}

働くフィドル

JQuery の場合:

HTML

​&lt;input id="test" type="textfield" />

JQuery

​$('#test').focus(function() {
    $(this).blur();
});​​​​​​​​​​​​​​​​​​​​

働くフィドル

クラス、IDなど、必要なものに を追加しEventListenerて、関数を実行するか、他の何かをトリガーしてロックを解除できます。JQueryもこれを非常にスムーズに処理できますが、そのルートに行く場合は、クラスをセレクターとして使用することをお勧めします。その後、クラスを動的に追加および削除してフォーカスを無効にすることができます。

于 2012-11-03T20:21:26.170 に答える