いくつかの Sencha 要素で JQuery から .keypress イベントをキャプチャしようとしていますが、どういうわけか Sencha がそれらを JQuery に隠しているようです。
コードの一部を示します。これはより単純ですが、同じ問題があります。
Ext.onReady(function(){
$("#jquery").click(function() {
alert('Handler for click called.');
});
var contextMenu = new Ext.menu.Menu({
renderTo: document.body,
width: 150,
floating: false,
plain: true,
items: [{
text: 'button1',
id: 'jquery'
},{
text: 'button2'
}]
});
});
</script>
</head>
<body>
<div id="test"> I am a div </div>
</body>
ここでの目的は、button1 をクリックするとアラートのポップアップが表示されることですが、発生しません。ただし、JQuery コードを次のように変更すると:
$("#test").click(function() {
alert('Handler for click called.');
});
そして、表示されたポップアップで div コンテンツをクリックすると、ライブラリが正しく読み込まれます。
これは、Sencha が html を作成する方法に関連しているに違いないと思います。これを調べたところ、button1 が次のようになっていることがわかります。
<a id="jquery" class="x-menu-item" hidefocus="true" unselectable="on" href="#"><img alt="" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="x-menu-item-icon " id="ext-gen7"><span class="x-menu-item-text" id="ext-gen8">button1</span></a>
しかし、それでも、必要な場所で JQuery を使用することはできません。JQuery セレクターを使用して sencha 要素にアクセスするためのアイデアや解決策はありますか?