javascript对象原型与jquery冲突
javascript object prototype conflicting with jquery?
我正在尝试实现这里提供的解决方案,但显然与本票证中描述的jquery冲突。
到目前为止,我还没有找到解决方案,有什么想法吗?
我想实现Shelby Moore 提出的继承机制
这可能是问题的原因,扩展对象原型:
Object.prototype.Inherits = function(parent)
{
if(arguments.length > 1)
{
parent.apply(this, Array.prototype.slice.call(arguments, 1));
}
else
{
parent.call(this);
}
}
第1版:经过大量阅读,我采用了以下模式:
NewFunction.prototype = Object.create(new FunctionToInheritFrom());
扩展Object.prototype扩展了所有对象,因此如果您修改所有对象的原型,您可以阻止它们所需的行为,这就是为什么应该避免直接修改为Object原型的原因。更好的做法是扩展自定义函数原型,以确保不会破坏其他原型,即由jQuery等框架提供的原型。即使是表示DOM元素的对象也会被修改,这通常是个坏主意。
尽管如此,我想指出的是,Javascript本身并没有定义真正的继承,试图解决这个问题会导致很多问题,并使开发变得更加困难。Javascript中的继承是基于原型的继承,这与真正的继承不同,面对这一事实,使用Javascript自己的方法进行"类似继承"(即在这里描述)是直接的,效果非常好。
对我来说,Javascript继承更像是合并对象成员,关于这一点的一篇非常好的文章是douglas Crackford的这篇文章,我认为它值得一读。
我无法复制这个东西。。它的工作原理很好代码很简单,就像这个
Object.prototype.Inherits = function(parent)
{
if(arguments.length > 1)
{
parent.apply(this, Array.prototype.slice.call(arguments, 1));
}
else
{
parent.call(this);
}
}
$(document).ready(function(){
$('input').click(function(){
alert();
});
});
相关文章:
- 返回按钮代码段的Jquery冲突
- javascript对象原型与jquery冲突
- 为什么'滚动到顶部'脚本导致类型错误?jQuery冲突
- 如何解决jQuery冲突
- Jquery冲突单击
- 可能与JQuery冲突
- mootools和jquery冲突-noconflict对我不起作用
- Unite Revolution 滑块与 Joomla 中的 jquery 冲突
- 确保永远不要有 JQuery 冲突
- 如何解决两个 jquery 冲突
- 下拉菜单和 AJAX 窗口之间的 jquery 冲突
- 如何解决光滑的轮播jquery冲突问题
- 未定义 jQuery,并且 jquery 冲突
- Jquery冲突问题
- 日历和快速搜索的 Jquery 冲突问题
- RequireJS :处理与填充程序和非AMD加载脚本的jQuery冲突
- 加载插件时不同版本的 jQuery 冲突
- JavaScript 函数名称与 jQuery 冲突
- 避免 chrome 扩展程序中的 jquery 冲突
- 水平鼠标滚轮滚动与地图 JQuery 冲突