我有两个功能想合并为一个。是否可以结合...
$(document).ready(function () {
$(".jobtype").change(function () {
if ($("select[name='jobtype']").val() != "Low Budget") {
// something happens
}
});
});
和这个...
$(document).ready(function () {
$(document).on('keyup', function (evt) {
if (evt.keyCode == 27) {
// same thing happens
}
});
});
这样它们就可以同时用于change()和keyup?
编辑:对不起,我真的在深夜写了这篇文章,所以也许没有正确地解释自己。
我有一种形式,当从下拉选择列表中选择“低预算”选项时,该函数将运行,从而改变页面上的内容。
但是,如果取消选择“低预算”选项,则会运行另一个脚本,该脚本撤消更改并将页面返回其原始形式。将该代码恢复为原始格式的代码可能长达30行。
如果用户按下ESC并关闭表格,我希望运行同一段代码。
两次写入相同的函数似乎很奇怪,所以想知道什么是正确且最有效的编码方式。我的一部分认为我可以将30行代码写在类似
function doSomething() {
// 30 lines of code
}
然后两个事件里面有:
$(document).ready(function () {
$(".jobtype").change(function () {
if ($("select[name='jobtype']").val() != "Low Budget") {
doSomething();
}
});
});
和
$(document).ready(function () {
$(".jobtype").change(function () {
if ($("select[name='jobtype']").val() != "Low Budget") {
doSomething();
}
});
});
但是我不确定结构代码的正确方法。
再次感谢
最佳答案
也许此解决方案还不够好,但是您可以尝试:
$(document).ready(function() {
$(".jobtype").change(function() {
if ($("select[name='jobtype']").val() != "Low Budget") {
common();
}
});
$(document).on('keyup',function(evt) {
if (evt.keyCode == 27) {
common();
}
});
function common() {
alert('1111'); // some common logic
}
});