jQuery扩展事件变量
jQuery extend an event variable
插件有这个变量
this.onValid = options.onValid || function(){ this.insertMessage(this.createMessageSpan()); this.addFieldClass(); };
问题是,当我定义一个新的实例,我想添加一个新的函数。onValid,我不想重写默认事件?
如何扩展变量this。onValid吗?
this.onValid = options.onValid || function(){ this.insertMessage(this.createMessageSpan()); this.addFieldClass(); };
//That above is already defined;
this._onValid = this.onValid; //Make a backup function
this.onValid = function (){
this._onValid(); //Call the actual function
//Your extended code here //Call your code
}
这是特定于你的代码。为了更好地理解它,也许这个例子会有所帮助:
writeA = function (){
document.write('a');
};
//Now I want to extend the writeA function to write 'b' as well
_writeA = writeA;
writeA = function (){
_writeA(); //So now I call whatever the function originally did
document.write('b'); //And now I execute what I want to add to the function
};
的例子演示
刚刚尝试修复您在评论中提供的代码。试试这个:
var obj1 = {
this._onValid = this.onValid; //Do this assuming this.onValid is already defined
onValid: function(){ //Redefine it
this._onValid();
newFunction();
}
};
编辑
从插件。把它编辑成这样:
this.onValid = options.onValid || function(){ this.insertMessage(this.createMessageSpan()); this.addFieldClass(); };
this._onValid = this.onValid;
this.onValid = function (){
this._onValid();
//YOUR CODE HERE
};
我已经编辑了原始文件,看起来像这里。
哈,刚刚意识到我在这里放了和开始时一样的代码。那是因为就是应该有的样子。查看我编辑的文件并搜索//YOUR CODE HERE
并在那里添加您的代码。
相关文章:
- 导航到特定事件的另一个变量页面
- 如何在kinetic.js中向函数和事件名称中添加可计数变量
- Javascript:OnChange事件,将数组变量传递给另一个函数
- 缓存事件的变量而不使其全局化
- 将变量传递到keyup事件内部
- 如何将事件处理程序存储在变量中,并在以后将其绑定到对象
- 存储一个事件处理程序中的变量以供另一个事件处理器使用
- Javascript:附加字符串中的事件,闭包中的变量求值
- 如何在函数内部定义一个变量以供事件调用
- 如何将两个事件的变量组合为一,作为两者的总和.jquery
- 如何将更改事件处理程序附加到变量
- 检索在onchange javascript事件中创建的javascript变量
- innerHTML在onClick事件中将变量作为参数传递
- 变量不可用于子代函数,涉及事件
- JavaScript变量在第二次单击事件时间后取消设置
- 如何在动态生成的链接的onClick事件的函数中传递JavaScript变量
- 在事件发生后更改变量的值
- 跨多个 jQuery 脚本的变量/事件
- JS变量事件?比如onChange
- Wavemaker 7中的服务变量事件