javascript中无法正常工作的事件顺序
order of events in javascript not functioning properly
我看过几篇关于这个主题的帖子,但都没有得到答案。我有一个onClick事件,它调用Uploadfile()函数,只有在调用Uploadfile()函数之后,我才希望调用EnableSaveButton()函数。下面粘贴的是我为点击事件、Uploadfile()函数和EnableSaveButton()函数准备的代码。目前只有Uploadfile()被调用,但EnableSavebutton()函数没有被触发。如果有人能告诉我我做错了什么,我将不胜感激。
***更新:让我重新表述一下这个问题。如何确保仅在调用UploadFile()之后才调用EnableSaveButton()。目前的情况是,EnableSaveButton在UploadFile()之前触发。
$("#btnUploadFile").click(function(event) {
event.preventDefault();
uploadFile();
EnableSaveButton();
});
function uploadFile() {
$.get('<%: Url.Action("UploadFile","Files") %>', null, function(getData) {
$(getData).appendTo('body');
});
}
function EnableSaveButton() {
var selectedvalue = $("#FileGuid").val();
alert(selectedvalue);
if (selectedvalue != "") {
$("#btnSave").removeAttr("disabled");
}
}
function (event) {
event.preventDefault();
EnableSaveButton();
}
此函数已声明,但未分配也未使用。。。所以您的函数EnableSaveButton
没有被调用。
我相信您希望在UploadFile()
函数完成之后(或者更具体地说,在UploadFile
函数内部的Ajax调用完成之后)调用EnableSaveButton()
函数,对吗?
$("#btnUploadFile").click(function (event) {
event.preventDefault();
uploadFile();
});
function uploadFile() {
$.get(
'<%: Url.Action("UploadFile","Files") %>',
null,
function (getData) {
$(getData).appendTo('body');
EnableSaveButton();
}
);
}
您在单击处理程序中声明了一个从未被调用的匿名函数。
function (event) {
event.preventDefault();
EnableSaveButton();
}
为什么你不这么做:
$("#btnUploadFile").click(function (event) {
event.preventDefault();
uploadFile();
EnableSaveButton();
});
这:
function (event) {
event.preventDefault();
EnableSaveButton();
}
声明一个接受一个参数的匿名函数(称为事件)。然后它就不叫anwhere了。如果你想调用你的函数,那么你可以这样做:
(function (event) {
event.preventDefault();
EnableSaveButton();
})(event);
或:
var handler = function (event) {
event.preventDefault();
EnableSaveButton();
}
handler();
或者更简单:
EnableSaveButton();
那么,为什么不调用EnableSaveButton作为上传文件的ajax代码的回调呢。我一直在使用这种技术。ajax请求获取一些数据并将其转储到页面中,然后执行用户定义的回调以调整滚动条、表单元素等。
相关文章:
- Jquery.点击事件不'更改事件后无法工作
- 当我更改innerHtml时,引导选项卡事件不再工作
- IE8更改文本区域上的事件侦听器不工作
- xPages标签onclick事件不'不要在空白处工作
- 为什么此事件侦听器不工作
- 主干点击事件按钮不工作
- 为什么动态加载的事件在我的代码中不能正常工作
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 谷歌分析跟踪内部链接不正常工作的事件
- java脚本点击事件处理程序不工作
- javascript中无法正常工作的事件顺序
- MS Dynamics CRM 2016-addOnKeyPress事件不工作
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- jQuery点击()事件在另一个点击()中获胜'我不能在手机上工作
- 如何使参数在事件函数中工作
- JavaScript's onmouseout事件未按预期工作
- CSS + jQ插件阻止AJAX调用/事件侦听器工作
- JavaScript on Click 事件在 img 标签上无法正常工作
- 脚本在“点击”下工作事件,但不是单独的(Backbone.js)
- 一些javascript代码不工作-事件处理程序'onclick'中的if()语句