跨(function($) {})调用另一个方法

是这样,同一个js文件中 有两个不同的方法,这两个方法分别在不同的(function($) {})里。

怎么实现跨(function($) {})调用另一个方法呢?

求不吝赐教!

4个回答

我之前用easyui也遇到过这种问题,解决办法:$("#id").datagrid({fit: true});表示datagrid适应父容器大小

henghanan
henghanan 改成这样就可以了fitColumns='false',表示不自动展开/收缩列的大小去适应网格的宽度
接近 8 年之前 回复
iteye_16885
iteye_16885 非常感谢通过你的这个方法我实现了。可是又遇到一个新的问题! 请看!http://www.dewen.org/q/5896/JQueryeasyUI+%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B7%A6%E4%BE%A7%E8%8F%9C%E5%8D%95%E5%8D%95%E6%A0%8F%E6%94%B6%E8%B5%B7%E6%97%B6%E8%AE%A9%E5%8F%B3%E4%BE%A7%E8%A1%A8%E6%A0%BC%E9%80%82%E5%BA%94%E7%BD%91%E9%A1%B5%E5%AE%BD%E5%BA%A6%E7%9A%84%E5%8F%98%E5%8C%96#12143
接近 8 年之前 回复

参考这个:
[code="java"]http://www.iteye.com/problems/88088[/code]

iteye_16885
iteye_16885 window._426=(function(-1){ alert("left"); }); 这样为什么报错?
接近 8 年之前 回复
iteye_16885
iteye_16885 http://www.dewen.org/q/5896/JQueryeasyUI 你能帮我看看这个问题怎么解决吗?非常感谢了
接近 8 年之前 回复
iteye_5246
iteye_5246 参考这个:http://www.iteye.com/problems/88088
接近 8 年之前 回复

非搞那么麻烦干嘛 把方法提取出来

iteye_16885
iteye_16885 请看 这里又出现了一个新的问题。http://www.dewen.org/q/5896/JQueryeasyUI+
接近 8 年之前 回复
iteye_16885
iteye_16885 function _426(_427, _428) { var opts = $.data(_427, "datagrid").options; var _429 = $.data(_427, "datagrid").panel; if (_428) { if (_428.width) { opts.width = _428.width; } if (_428.height) { opts.height = _428.height; } } if (opts.fit == true) { var p = _429.panel("panel").parent(); opts.width = p.width(); opts.height = p.height(); } _429.panel("resize", { width : opts.width, height : opts.height }); } 你知道这段方法,我想让datagrid自动适应父容器的变化。谢谢了!!
接近 8 年之前 回复
jinnianshilongnian
jinnianshilongnian http://cy913417.iteye.com/blog/1397848看看这个呢 这个问题和跨(function($) {})调用另一个方法的 应该是没关系的
接近 8 年之前 回复
jinnianshilongnian
jinnianshilongnian jquery.easyui.min.js 中哪两个代码段 我看看 怎么解决
接近 8 年之前 回复
iteye_16885
iteye_16885 提出放哪里?怎么搞??? 我要改的是jquery easyUI 1.3的 jquery.easyui.min.js这个文件 主要是这个原因: http://www.dewen.org/q/5896/JQueryeasyUI 造成我想跨(function($) {})调用另一个方法的
接近 8 年之前 回复

这是分别在两个匿名函数里的局部变量,大哥。怎么可能在函数外面访问到局部变量
为什么不在一个js文件里只定义一个这样的匿名函数

如果一定要这么做,我们就得采用一些迂回的策略。
最简单也是最不推荐的做法就是把这两个函数定义成全局的。这里就不多解释了。

在不增加全局对象的前提下,还是有办法解决这个问题的

方法一:使用自定义事件,在定义方法的匿名函数里创建一个自定义事件,在另一个匿名函数里要使用那个方法时就触发这个自定义事件。这么做的要求就是两个匿名函数里都要持有绑定自定义事件的对象的引用。
方法二:使用Deffered对象或Callbacks对象。这么做的要求就是两个匿名函数里都要持有相同的deffered对象或callbacks对象。
方法三:借助Callbacks对象实现pub/sub模式,pub/sub作为jquery的插件存在。将匿名函数内定义的局部函数定义成主题订阅者,在需要调用这个函数的匿名函数内将调用那个函数的实参发布为主题。这样就实现了匿名函数间的交互。

上述三种方法都不简单,不过都可作为开发模式复用。一旦用过一次以后就会简单很多。

runfriends
runfriends 真是神啊。你的问题通篇都没提到easyui也没说什么自适应。真是太伟大了
接近 8 年之前 回复
iteye_16885
iteye_16885 谢谢你给的建议,我没时间慢慢研究jquery.easyui.min.js了。我使用henghanan 提供的方法解决了datagrid的自适应问题。可是另一个问题又出现了。请看 http://www.dewen.org/q/5896/JQueryeasyUI+
接近 8 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问