【问题标题】:how to re-factor/extract methods to separate file for re-use如何重新分解/提取方法以分离文件以供重用
【发布时间】:2011-12-23 06:28:56
【问题描述】:

我对整个 JQuery/javascript 世界还很陌生,但我已经设法根据我在网上找到的代码示例,将一个工作 jqgrid 与一个 datepicker 和自定义控件(使用 jquery 自动完成)组合在一起。我已将代码添加到项目中的 T4 模板中,因为它可能会充当大多数页面的基础/起点。 (旁注。我正在使用 asp.net MVC)

JFIDDLE:LINK

1.) 我想将 initDateEditinitDateSearch 移动到相同的函数(使用参数,以禁用/启用 showOn 属性),因为它们是基本相似。

2.) 如何从新函数/文件外部设置 nonWorkingDates 的最佳方式。同样适用于 autocomplete_element(我想指定 url)

变化

"function nonWorkingDates(date)" to => "function nonWorkingDates(date, nonWorkingDates)"

不工作,(猜想这与它被称为“beforeShowDay: nonWorkingDates”的方式有关)

提前致谢!

【问题讨论】:

  • 有很多常用的方式来分离 JavaScript 代码来共享它。还有许多 jqGrid 特定的方法,例如设置 jqGrid 默认值和列模板的使用。如果您愿意,我可以更详细地解释这些功能。首先,您应该修复代码中的一些错误。您应该将更多作为一个网格来查看可以设为默认值的常用选项。例如函数afterSubmit 是绝对错误的。分配给函数的变量initDateEditinitDateSearch 应在使用前定义。函数Notify我们未定义等等。
  • 拜托,任何额外的帮助将不胜感激。一些函数在 Jsfiddle 链接中未定义,因为我没有复制我确切的完整代码脚本,因此可能缺少一些函数,通知基本上可以替换为警报以用于演示目的。谢谢你:)

标签: javascript jquery jqgrid refactoring jqgrid-asp.net


【解决方案1】:

如果你有一大段这样的 JS 代码:

<script type="text/javascript">
   ... code goes here ...
</script>

您只需复制整个内容,删除包含的脚本标签,并保存原始代码

... code goes here ...

到一个文件,然后您将其包含在:

<script type="text/javascript" src="yourfile.js"></script>

但是,由于您使用的是 jquery,因此您必须确保将上述 sn-p 放置在加载 jquery 的脚本标记之后,否则您将收到“没有这样的函数”语法错误。

【讨论】:

  • 谢谢!我知道它一定是别的东西,因为它不起作用是没有意义的,我再次查看了我的代码。问题是(哦,我也在使用 MVC) 不要忽略我猜的明显:|
猜你喜欢
  • 1970-01-01
  • 2020-10-24
  • 2020-02-04
  • 2019-02-17
  • 2021-09-02
  • 1970-01-01
  • 2016-03-26
  • 1970-01-01
  • 2023-02-11
相关资源
最近更新 更多