Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox中的键控_Javascript_Jquery_Html_Iframe_Jquery Events - Fatal编程技术网

Javascript Firefox中的键控

Javascript Firefox中的键控,javascript,jquery,html,iframe,jquery-events,Javascript,Jquery,Html,Iframe,Jquery Events,我试图使用jquerykeyup函数检测按键,但它在Firefox中似乎不起作用。尽管它在Chrome、Edge、IE和Opera中都能正常工作 $(".textfield").contents().keyup(function(evnt) { document.getElementById("btn_save").style.opacity = "1"; saved = false; }); “.textfield”是一个带有designmode='on'的iframe,因此

我试图使用jquerykeyup函数检测按键,但它在Firefox中似乎不起作用。尽管它在Chrome、Edge、IE和Opera中都能正常工作

$(".textfield").contents().keyup(function(evnt) {
    document.getElementById("btn_save").style.opacity = "1";
    saved = false;
});
“.textfield”是一个带有
designmode='on'
的iframe,因此我试图在可编辑iframe中检测一个键控

这是我的iframe,没什么特别的:

<iframe class="textfield" name="textfield" frameBorder="0"></iframe>

编辑:(这是我的第一个网站之一,所以不要介意糟糕的代码)

HTML


记事本-一个简约,免费的在线文本编辑器为您的笔记
WebFont.load({
谷歌:{
家庭:[‘Cantarell’,“开放式SAN”]
}
});
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/nl_nl/sdk.js#xfml=1&version=v2.9”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
B
我
U
+
-
您可以使用jquery

$(document).ready(function(){
   $(".textfield").keyup(function() {
     $("#btn_save").css("opacity", 1);
   });
});
您可以使用jquery

$(document).ready(function(){
   $(".textfield").keyup(function() {
     $("#btn_save").css("opacity", 1);
   });
});

好的,我解决了这个问题。显然,Firefox需要
$(document).ready()
才能正确处理按键事件(尚未测试其他事件)

因此,您的代码应该是:

$(document).ready(function(){
    $(".textfield").contents().keyup(function(evnt) {
        document.getElementById("btn_save").style.opacity = "1";
        saved = false;
    });
});
而不是:

$(".textfield").contents().keyup(function(evnt) {
    document.getElementById("btn_save").style.opacity = "1";
    saved = false;
});
正如我已经说过的,这是一个只发生在Firefox AFAIK中的问题


在撰写此答案时,此代码可以在Chrome、Firefox、Opera、Edge和Internet Explorer中使用。

好的,我已经解决了这个问题。显然,Firefox需要
$(document).ready()
才能正确处理按键事件(尚未测试其他事件)

因此,您的代码应该是:

$(document).ready(function(){
    $(".textfield").contents().keyup(function(evnt) {
        document.getElementById("btn_save").style.opacity = "1";
        saved = false;
    });
});
而不是:

$(".textfield").contents().keyup(function(evnt) {
    document.getElementById("btn_save").style.opacity = "1";
    saved = false;
});
正如我已经说过的,这是一个只发生在Firefox AFAIK中的问题

在撰写此答案时,此代码适用于Chrome、Firefox、Opera、Edge和Internet Explorer。

我也遇到过类似的问题。 移动键盘(在Firefox中)不会发出keypup、keypdown和keypress事件。 所以,我遇到了那个女孩

大概是这样的:

myInput = document.getElementById('myInput');    
myInput.addEventListener('compositionupdate', (event) => {
  setTimeout(() => {
    applyFilter(event)
  });
})
setTimeOut是在调用我的函数之前等待输入值接收键盘值所必需的。

我也遇到了类似的问题。 移动键盘(在Firefox中)不会发出keypup、keypdown和keypress事件。 所以,我遇到了那个女孩

大概是这样的:

myInput = document.getElementById('myInput');    
myInput.addEventListener('compositionupdate', (event) => {
  setTimeout(() => {
    applyFilter(event)
  });
})

在调用我的函数之前,必须等待输入值接收键盘值。浏览器控制台对错误有何说明?如果使用:$(“.textfield”).keyup(函数使用
$(文档)。on(“keyup”,“selector”,函数(e){…
浏览器控制台对错误有何说明如果你使用:$(“.textfield”).keyup(functionuse
$(document)。在(“keyup”,“selector”,function(e){…
上,我已经在使用jQuery了。虽然这段代码不起作用,但是谢谢你的回复。你能给出完整的源代码吗?是不是我框架下的btn_保存它在旁边的工具栏中,这只是主体的一部分(不是iframe中的那一个)我已经在使用jQuery了。虽然这段代码不起作用,但是谢谢你的回复。你能给出完整的源代码吗?是不是在iframe下的btn_save?它在旁边的工具栏中,它只是主体的一部分(不是iframe中的那一个)