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

如果您用一些 textarea 或输入 type='text' 替换该 div,则 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 回答