1

オーバーレイを適用した div のキープレスをバインドできません。以下はコードです。

<div> 
    Content  <a href="#" id="load">Load overlay</a>
</div>

<div id="overlayDiv" class="overlay">
    <div id="someInnerDiv">
         Text 

    </div>
</div>

<script type="text/javascript> 
    function LoadOverlay()
    {
        $('#overlayDiv').overlay();
        $('#someInnerDiv').keypress(function() { alert (' key was pressed' ); });
        $('#someInnerDiv').focus();
    }
    $("#load").click(LoadOverlay);​
</script>

アラートが表示されません。jsfiddle のコードは次のとおりです: http://jsfiddle.net/JEmgg/4/

イベントをキャッチするのはオーバーレイだと推測していますが、わかりません。

4

2 に答える 2

3

その div を textarea または input type='text' に置き換えると keypress イベントが機能するため、入力すると keypress イベントが発生し、アラートが機能します。

デモ: http://jsfiddle.net/JEmgg/5/

交換 :

  <div id="someInnerDiv" ></div>

 <input type="text" id="someInnerDiv" />
于 2012-11-01T15:48:44.077 に答える
2

問題は、テキストエリア、入力タイプのテキスト、またはその他の入力要素がないとテキストを挿入できないことです。このコードを試すとうまくいきます: DEMO

<div id="overlayDiv" class="overlay">
    <div id="someInnerDiv">
         Text
        <input type="text" name="test" id="test"/>
    </div>
</div>
于 2012-11-01T15:50:50.760 に答える