代码赢得';将javascript代码合并到一个函数中时不起作用
大家好 我在将代码合并到一个函数中时遇到问题。(如果可能的话) 第一:代码赢得';将javascript代码合并到一个函数中时不起作用,javascript,php,Javascript,Php,大家好 我在将代码合并到一个函数中时遇到问题。(如果可能的话) 第一: 有一张桌子 当表格行单击时,将启用两个按钮 代码如下: function enableRegButton() { $('#registerExist').prop('disabled', false); $('#edit').prop('disabled', false); // regButton execute when Enter key pressed
- 有一张桌子
- 当表格行单击时,将启用两个按钮
function enableRegButton() {
$('#registerExist').prop('disabled', false);
$('#edit').prop('disabled', false);
// regButton execute when Enter key pressed
$(document).unbind("keyup").keyup(function(e){
var code = e.which; // recommended to use e.which, it's normalized across browsers
if(code==13)
{
$("#registerExist").click();
}
});
}
$(document).keyup(function(e) {
if (e.keyCode == 27) { // escape key maps to keycode `27`
$('#registerExist').prop('disabled', true);
$('#edit').prop('disabled', true);
document.getElementById("enStudID").value = "";
document.getElementById("enInfoID").value = "";
document.getElementById("enCoffID").value = "";
document.getElementById("enYearID").value = "";
}
});
第二:
- 当按下退出键时,将禁用所有绑定按钮
function enableRegButton() {
$('#registerExist').prop('disabled', false);
$('#edit').prop('disabled', false);
// regButton execute when Enter key pressed
$(document).unbind("keyup").keyup(function(e){
var code = e.which; // recommended to use e.which, it's normalized across browsers
if(code==13)
{
$("#registerExist").click();
}
});
}
$(document).keyup(function(e) {
if (e.keyCode == 27) { // escape key maps to keycode `27`
$('#registerExist').prop('disabled', true);
$('#edit').prop('disabled', true);
document.getElementById("enStudID").value = "";
document.getElementById("enInfoID").value = "";
document.getElementById("enCoffID").value = "";
document.getElementById("enYearID").value = "";
}
});
现在,我想做的是,上面的两个代码将合并到一个函数中,它将调用该函数并触发所有这些代码,所以当我编辑代码时,它将被集中化
这是我的最终代码:
function enableRegButton() {
$('#registerExist').prop('disabled', false);
$('#edit').prop('disabled', false);
// regButton execute when Enter key pressed
$(document).unbind("keyup").keyup(function(e){
var code = e.which; // recommended to use e.which, it's normalized across browsers
settings();
});
}
// This code is for ESC button when pressed.
$(document).keyup(function(e) {
settings();
});
function settings(){
if(code==13)
{
$("#registerExist").click();
}
else if (code==27){ // escape key maps to keycode `27`
$('#registerExist').prop('disabled', true);
$('#edit').prop('disabled', true);
document.getElementById("enStudID").value = "";
document.getElementById("enInfoID").value = "";
document.getElementById("enCoffID").value = "";
document.getElementById("enYearID").value = "";
}
}
问题:
- 单击表格行时,只有启用按钮起作用
- 按退出键不会禁用已启用的按钮
- 按Enter键时,代码不会运行
设置方法
$(document).keyup(function(e) {
settings(e.keyCode);
});
function settings(code) {
在调试Javascript问题时,使用浏览器的开发人员控制台,这是一个非常宝贵的工具,可以很容易地解决类似的问题。您需要将关键代码传递给设置
方法
$(document).keyup(function(e) {
settings(e.keyCode);
});
function settings(code) {
调试Javascript问题时,使用浏览器的开发人员控制台,这是一个非常宝贵的工具,可以很容易地解决类似的问题。您在取消绑定回调中分配code
变量,而不是在绑定回调中:)您在取消绑定回调中分配code
变量,不在绑定回调中:)您有多少个按钮?两行还是两行?添加html输出示例可能会有所帮助。您有多少个按钮?两行还是两行?添加html输出示例可能会有所帮助。我建议使用e.which
,因为他们已经在使用jQuery,以避免任何跨浏览器问题。感谢Daniel Bernson的回复,它可以工作!另外对于Archer:-)顺便说一句,我只是在编码时混淆了Javascript和JQuery的差异(lol),所以我把标签放在Javascript上。@Daniel Bersons你是说chrome中的Inspect元素吗?@Daniel Bersons哦!我看到了。。。谢谢你的提示!现在调试javascript很容易了。我建议使用e.which
,因为他们已经在使用jQuery,以避免任何跨浏览器问题。感谢Daniel Bernsons的回复,它可以工作了!另外对于Archer:-)顺便说一句,我只是在编码时混淆了Javascript和JQuery的差异(lol),所以我把标签放在Javascript上。@Daniel Bersons你是说chrome中的Inspect元素吗?@Daniel Bersons哦!我看到了。。。谢谢你的提示!现在调试javascript就很容易了。