重複の可能性:
jQuery および Prototype イベント
私は Box2dJS ライブラリを使用していますが、それはプロトタイプを使用しているため、動作させるにはプロトタイプ ライブラリを含める必要がありました。メイン スクリプトではプロトタイプ コードを使用しておらず、Box2d オブジェクトのみがプロトタイプを使用しています。スクリプトで JQuery を使用しています。プロトタイプを含めたため、jQuery イベントが発生していないようです。
関連するJSコードは次のとおりです。
$.noConflict();
jQuery(document).ready(function(){
init();
});
function init(){
//add event handler to surrounding DIV to monitor mouse move and keystrokes
jQuery("#container").keypress(function(e){
keys[e.keyCode] = true;
alert("key pressed!");
});
jQuery("#container").keydown(function(e){
keys[e.keyCode] = true;
});
jQuery("#container").keyup(function(e){
keys[e.keyCode] = true;
alert("Key released!");
});
}
そして、ここにhtmlコードがあります:
<html>
<head>
<title>Box2D Test</title>
<!--[if IE]><script src="lib/excanvas.js"></script><![endif]-->
<script src="lib/prototype-1.6.0.2.js"></script>
<!-- box2djs scripts here-->
</head>
<body>
<center>
<div id="container" style="border:1px solid; cursor:none; width:600px; height:400px;">
<canvas id="canvas" width="600" height="400" >
Could not create Canvas!
</canvas>
</div>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script src='js/box2dutils.js'></script>
<script type="text/javascript" src="main.js"></script>
</center>
</body>
</html>
アラートは発生しませんが、prototype (および box2d) ライブラリを削除すると、すべて問題なく動作します。どうすればこれを修正できますか?