gpt4 book ai didi

javascript - 如何在 jQuery 插件中创建全局对象?

转载 作者:行者123 更新时间:2023-11-28 20:50:07 25 4
gpt4 key购买 nike

如何在 jQuery 插件范围之外使用对象 o ?我有以下代码片段:

  var o ={};

(function ($) {
$.fn.extend({

gridView: function (options) {
var defaults = {
grid :{
renderTo : '#container',
},
gridHeader: {
************
***********

};


var options = $.extend(defaults, options);

return this.each(function () {
o = options; // i was expecting this step to fill the object
var obj = $(this);

if( o.search.enabled){$(o.grid.renderTo).
append('<div class="headerSearch">
<input name="tbSearch" type="text" onchange="" onkeypress="do_this();"
id="tbSearch"><img src="'+ o.search.imgUrl +'" alt="Search"></div>')


})(jQuery);
console.log(o) ; // this gives me an empty object

我的另一个问题是,如何以及在哪里创建一个可以调用的函数 onkeypress那么这个 do_this(); 函数也可以看到该对象?

最佳答案

这没有任何意义,也行不通。您的 jQuery 代码(大概)会在稍后的某个时间通过 $("selector").gridView() 调用,并且就是您的插件执行的时间。在此之前,gridView: function 内部没有任何内容运行,并且当您的代码到达 console.log(o)< 时,o 的值尚未修改。/.

如果您想保留与某个元素绑定(bind)的一些数据,您应该使用 $.data 来获取和设置您的插件绑定(bind)到的元素的数据属性。 jQuery Plugin Authoring 中有关数据的部分页面将非常有用。

关于javascript - 如何在 jQuery 插件中创建全局对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12641830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com