更改事件之前加载JQuery Click事件

时间:2016-02-10 02:57:57

标签: javascript jquery html javascript-events

我使用一个简化的例子来描述我面临的问题。

我有以下HTML标记:

<input ng-model="something" style="margin-top:8px;"/>

而且,我有两个HTML按钮:

<button id='submit'>Save</button>

<button id='btnGetAnalyzerInput'>Generate Analyzer File </button>

我使用了jQuery&#34;&#34;更改&#34;我输入的事件(通过维护一个简单的JS变量来跟踪是否对输入进行了任何更改)。

当用户点击&#34;生成分析器文件按钮&#34;时,我想要的是:

  1. 查找JS变量以确定是否进行了任何更改。
  2. 如果是,则提示用户保存更改(window.dialog)
  3. 但是,我发现当焦点仍在输入元素上时,单击该按钮时,click事件将在OnChange事件之前运行。在所有其他情况下,OnChange事件在click事件之前被触发(因此我的代码按预期工作)。

    有没有办法确保在这种情况下,click事件在onChange事件之后运行?

    我正在使用Google Chrome测试我的应用程序。

    注意:

    1. 两个事件都按预期工作 - 当文本框失去焦点时,会触发OnChange事件。
    2. 我无法使用按键事件,因为我想跟踪更改。

1 个答案:

答案 0 :(得分:1)

您可以让click事件调用与OnChange事件相同的功能。像这样:

function OnChange(){
  //Do stuff for on change;
}
function ClickEvent(){
  OnChange(); 
  //continue with generate stuff
}

您可能需要设置并传入OnChange函数的参数,具体取决于您访问所需数据的方式。如果您需要更多指导,请发布更多代码。