Javascript 覆盖jQuery.mobile-1.1.0.js

Javascript 覆盖jQuery.mobile-1.1.0.js,javascript,jquery,jquery-mobile,overriding,appendto,Javascript,Jquery,Jquery Mobile,Overriding,Appendto,我很难重写核心jQuerymobile函数。 以下是指向JQM库Im使用的链接: 我换了5873行 .appendTo( wrapper ) 请参阅以下代码: .appendTo( *My own code* ) 但是我知道直接在JQM库中更改代码并不是实现我所需要的最好方法。因此,我想在自定义js文件中进行覆盖。 为了覆盖最少的JQM lib代码,我应该如何做呢?提前感谢。在jquery初始化后尝试此代码 jQuery.fn.extend({append: function() { **

我很难重写核心jQuerymobile函数。 以下是指向JQM库Im使用的链接:

我换了5873行

.appendTo( wrapper )
请参阅以下代码:

.appendTo( *My own code*  )
但是我知道直接在JQM库中更改代码并不是实现我所需要的最好方法。因此,我想在自定义js文件中进行覆盖。
为了覆盖最少的JQM lib代码,我应该如何做呢?提前感谢。

在jquery初始化后尝试此代码

jQuery.fn.extend({append: function() { **Your code here** } });

该代码位于委托事件处理程序中,因此您可以从外部文件用自己的事件处理程序覆盖该事件处理程序

第5788行至第5884行(大部分代码已编辑):

因此,在外部JS代码中,您可以删除此事件处理程序并附加您自己的:

$(document).undelegate(":jqmData(role='listview')", "listviewcreate").delegate(":jqmData(role='listview')", "listviewcreate", function () {
    //your version of the above code here
});

请注意,如果您使用的是jQuery 1.7或更高版本,则应将
.delegate()
.undelegate()
替换为
.on()
.off()。

在加载jQuery之后,但在引入jQuery mobile之前,只需包含一个自定义JavaScript文件

<script src="jquery.js"></script>  
<script src="custom-scripting.js"></script>  
<script src="jquery-mobile.js"></script>

谢谢,您的解决方案非常有效。尽管我仍然很好奇是否有一种更短的方法来实现它,而不需要将整个5788->5884代码块复制到我的自定义脚本中,因为我只想修改一行。
<script src="jquery.js"></script>  
<script src="custom-scripting.js"></script>  
<script src="jquery-mobile.js"></script>