Javascript Firefox中的键控
我试图使用jquerykeyup函数检测按键,但它在Firefox中似乎不起作用。尽管它在Chrome、Edge、IE和Opera中都能正常工作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,因此
$(".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中的那一个)