我使用jQuery有一段时间了,但这是我第一次需要创建自己的函数。(我使用的是noConflict)
我有一个代码是这样工作的:
jQuery(function()
{
jQuery("#tabs-3").dynatree({
checkbox: true,
onActivate: function(dtnode) {
alert("You activated " + dtnode);
}
});
//etendre tt les noeuds
jQuery("#tabs-3").dynatree("getRoot").visit(function(dtnode){
dtnode.expand(true);
});
});上面的代码正在工作,但是,这部分代码是在ajax调用中,当我第一次调用它时,它是有效的,但不是第二次或以后。当我用一个函数调用它时,它会给出错误"jQuery.mytree不是一个函数“。那么我的代码中到底出了什么问题。请帮帮我。
(function(jQuery){
jQuery.fn.extend({
mytree: function (mytreename)
{
alert(mytreename);
jQuery(mytreename).dynatree({
checkbox: true,
onActivate: function(dtnode) {
alert("You activated " + dtnode);
}
});
}
});
jQuery.mytree('#tabs-3');
})(jQuery);谢谢!
发布于 2016-10-14 16:53:06
这是因为当你使用jQuery.fn.extend时,它会扩展你的选择器。
例如:
<div id = "tabs-3"></div>
<script type="text/javascript">
(function(jQuery){
jQuery.fn.extend({
mytree: function mytree() {
console.log("My tree ", this.attr("id"));
// Do your cool AJAX calls
}
});
jQuery("#tabs-3").mytree();
})(jQuery);
</script>
都会起作用的。在mytree()中,这是选择器的结果。
发布于 2016-10-14 16:58:48
你得打个电话,
jQuery("#tabs-3").mytree();发布于 2016-10-14 17:10:08
如果我遇到了下一个问题,因为我的结构,我相信。函数在php中,让我们称其为1.php。
1.php在ajax中的调用2.php
2.php包含一个在
jQuery.fn.extend({ mytree: function mytree() { console.log("My tree ",this.attr("id"));jQuery(this.attr("id")).dynatree({ checkbox: true,onActivate: function(dtnode) { alert("You activated“+ dtnode);} });} });
有什么办法能让它工作吗?
谢谢!
https://stackoverflow.com/questions/40038670
复制相似问题