我有以下内容:
$('#EID').change(function () {
$.ajax({
url: "/Administration/stats",
data: { DataSource: $('#DataSource').val(),
EID: $('#EID').val()
},
success: function (data) {
$('#TID').html(data);
}
});
});
这很好但我希望能够在其他时间调用function(),而不仅仅是在EID更改时。有人可以告诉我如何将函数代码拉出到一个带有名称的单独块中,然后调用该函数名。
答案 0 :(得分:33)
function doSomething() {
$.ajax(...);
}
$('#EID').change(doSomething);
Nore你必须不在函数名之后添加()
,因为你想要传递函数,而不是它的返回值。
如果你想将一些参数传递给函数,你可以这样做:
function doSomething(someParam) {
$.ajax(...);
}
$('#EID').change(function() {
doSomething(whateverSomeParamShouldBe);
});
答案 1 :(得分:0)
好吧,对于现在正在寻找答案的人,您可以做的另一件事是触发功能
$('#EID').change (function (){
//your code here;
});
您想要调用先前未命名函数的某些其他函数或代码,只需完成操作即可;
$('#classOrId).eventYouwannaUse (function (){
$('#EID').change ();
});
答案 2 :(得分:0)
或者您可以使用on();函数,然后定义函数名称
$('#EID').on('change' , ChangeEventfuncCode);
function ChangeEventfuncCode(){
//your code ......
}
然后在所需的任何位置调用该函数。
$('.classOrId').whateverEvent(function (){
//your code......
ChangeEventfuncCode();
});