【问题标题】:closing iframe on esc key or clicking anywhere else在 esc 键上关闭 iframe 或单击其他任何位置
【发布时间】:2015-11-29 08:32:38
【问题描述】:

我想在点击esc 后立即关闭 iframe 框,或者我在 iframe 区域之外单击,此时我必须返回hideshow 图标以再次隐藏 iframe 是否有我可以的方法使用esc关闭iframe或点击iframe区域外

index.php

<div id="msg_pic">
        <a class="msg_pic_link" id="hideshow"><span><img src="emptymsg.png" width="21px" height="21px"/></span></a>
        </div>

<div id="message" >
                <iframe id="iframe" style=" border-color:#080000; background-color: white ;" src="conversation.php" width="300" height="300"></iframe>
            </div>

hide-show.js

$('#hideshow').on("click", function() {
    var text = $(this).val();
    $("#message").toggle();

});

mycss.css

#message
{
display:none;
position: absolute; 
z-index: 1; 
}

问题我如何按 esc 键或在msg_pic_link div 外部单击以关闭message

【问题讨论】:

    标签: php jquery iframe


    【解决方案1】:

    尝试使用$(window).on("click keydown").is()

    $('#hideshow').on("click", function() {
      var text = $(this).val();
      $("#message").toggle();
      $(window).focus()
    });
    
    $(window).on("click keydown", function(e) {
      //e.preventDefault()
      if (e.keyCode === 27 || !$(e.target).is(function() {
        return $("#message, #hideshow")
      })) {
        $("#message").hide()
      }
    }).focus()
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <div id="msg_pic">
      <a class="msg_pic_link" id="hideshow"><span><img src="emptymsg.png" width="21px" height="21px"/></span></a>
    </div>
    
    <div id="message">
      <iframe id="iframe" style=" border-color:#080000; background-color: white ;" src="conversation.php" width="300" height="300"></iframe>
    </div>

    jsfiddle http://jsfiddle.net/pb47m0om/2/

    【讨论】:

    • 没用我还是要点击hideshow div来隐藏iframe
    • @jake123 查看更新后的帖子,将window 替换为document,将.focus() 添加到window
    • 不,仍然没有运气发生同样的事情
    • @jake123 "请检查已编辑的代码" ?不确定问题是什么? $('#hideshow')click 处理程序中的两行都显示为 invalid 。在第一行,$('#hideshow') 没有 val(),在第二行 $("#message").toggle();class="msg_pic_link" is syntax error
    • “还想知道如何按esc键或点击msg_pic_link div以外的地方来关闭消息”?在jsfiddle.net/pb47m0om 尝试过stacksn-ps?,jsfiddle?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多