2

私はdivを持っています:

<div id="test" style="width:auto; height:auto;">
</div>

そして関数:

 $(function() {
            $("#test").attr("contentEditable", "true");
            $("#test")
            .attr("tabindex", "0")
            .keydown(function(){ alert(1); return false; })
            .mousemove(function(){ alert(2); return false; });
    });

JQuery ライブラリを含めずに JavaScript でこのコードを実装するにはどうすればよいですか?

4

3 に答える 3

2

jqueryを使用せずにjavascriptでこのように行うことができます。デモはこちらから入手できますJsFiddle 本体のonloadメソッドに配置すると、本体のonloadが呼び出されるか、関数に配置せずにすべてのコントロールの下のスクリプトセクションに配置されます。 jquery メソッド $().read(); のように、ドキュメントの準備ができたときに呼び出します。

var test = document.getElementById('test');
test.setAttribute("contentEditable", "true");
test.setAttribute("tabindex", "0");
test.onkeydown = function(event) { alert("KeyDown");}    
test.onmousemove = function(event) { alert("MouseMove");}
于 2012-04-26T05:12:13.480 に答える
1

Adil は正しい考えを持っていますが、少し改善するために、要素を変数に格納して、毎回要素を取得するための呼び出しを行う必要がないようにすることができます。したがって、次のように変更します。

var t = document.getElementById('test');

t.setAttribute("contentEditable", "true");
t.setAttribute("tabindex", "0");
t.onkeydown = function(event) { alert("KeyDown");}    
t.onmousemove = function(event) { alert("MouseMove");}

私を打ち負かし、jsfiddleリンクを提供してくれたAdilに賛成票を投じました:)

更新済み: 投稿を更新したばかりなので気にしないでください

于 2012-04-26T05:26:10.783 に答える
1
function runme() {
  var elm = document.getElementById("test");
  elm.contentEditable = "true";
  elm.tabIndex = 0;
  elm.onkeydown = function() { alert(1); return false; };
  elm.onmousemove = function() { alert(2); return false; };
}

if(window.addEventListener)
  window.addEventListener("load", runme, false);
else
  window.attachEvent("onload", runme);
于 2012-04-26T05:17:34.280 に答える