在 Iframe 主体上设置焦点和模糊事件不适用于 Firefox
Setting focus and blur events on Iframe body not working with firefox
我创建了一个可编辑的 iFrame 为:
<iframe frameborder="0" id="editor"></iframe>
<script type="text/JavaScript">
document.getElementById('editor').contentWindow.document.designMode="on";
document.getElementById('editor').contentWindow.document.close();
$("#editor").contents().find("body").blur(function(){ // Blur functions });
$("#editor").contents().find("body").focus(function(){// focus functions });
</script>
焦点和模糊事件在 chrome 中触发,但不适用于 firefox。
解析为:
<iframe frameborder="0" id="editor"></iframe>
<script type="text/JavaScript">
document.getElementById('editor').contentWindow.document.designMode="on";
document.getElementById('editor').contentWindow.document.close();
if(navigator.userAgent.indexOf("Firefox") != -1){
$("#editor").contents().bind('blur', function(){ // Blur functions });
$("#editor").contents().bind('focus', function(){ // focus functions });
}else{
$("#editor").contents().find("body").blur(function(){ // Blur functions });
$("#editor").contents().find("body").focus(function(){ // focus functions });
}
</script>
对于 firefox,它适用于在 contents() 上设置的 focus/blur 而不是 body。
我创建了一个可编辑的 iFrame 为:
<iframe frameborder="0" id="editor"></iframe>
<script type="text/JavaScript">
document.getElementById('editor').contentWindow.document.designMode="on";
document.getElementById('editor').contentWindow.document.close();
$("#editor").contents().find("body").blur(function(){ // Blur functions });
$("#editor").contents().find("body").focus(function(){// focus functions });
</script>
焦点和模糊事件在 chrome 中触发,但不适用于 firefox。
解析为:
<iframe frameborder="0" id="editor"></iframe>
<script type="text/JavaScript">
document.getElementById('editor').contentWindow.document.designMode="on";
document.getElementById('editor').contentWindow.document.close();
if(navigator.userAgent.indexOf("Firefox") != -1){
$("#editor").contents().bind('blur', function(){ // Blur functions });
$("#editor").contents().bind('focus', function(){ // focus functions });
}else{
$("#editor").contents().find("body").blur(function(){ // Blur functions });
$("#editor").contents().find("body").focus(function(){ // focus functions });
}
</script>
对于 firefox,它适用于在 contents() 上设置的 focus/blur 而不是 body。