是这样的:
<form ...... onsubmit="return check()">
....
</form>
<script type="text/javascript">
function check(){
alert("!!!!!!!!!!");
}
</script>
传统的使用js,上面是没问题的,会弹出提示 “!!!!!!!!!”
但是用了seajs后
define(function (require, exports, module) {
function check(){
alert("!!!!!!!!!!");
}
});
这时候确不能触发check,我哪个地方没遵守规则嘛?
回复 (8)
J
新手问题, 对作用域不理解..
第一个定义的 check 是在全局作用域的, 所以从 HTML 属性里能够访问到.
第二个被函数封闭在闭包里面了, 从外面不能调用
跟 SeaJS 半点关系都没有
S
引用 jiyinyiyong新手问题, 对作用域不理解.. 第一个定义的 check 是在全局作用域的, 所以从 HTML 属性里能够访问到. 第二个被函数封闭在闭包里面了, 从外面不能调用 跟 SeaJS 半点关系都没...
稍微明白你的意思了~~ 但是我试了一下exports.check = check,还是不能访问
使用addlistener(“click”, function())这种方式?
S
理论上是这么用的,但还是推荐使用绑定的形式在模块中添加事件。
S
引用 saionjisekai理论上是这么用的,但还是推荐使用绑定的形式在模块中添加事件。 <pre class="prettyprint language html" <code <button onclick="sea...
恩,使用模块,在check .js中写验证逻辑
seajs.use("/scripts/user/check.js");
你的意思是html里不做任何函数的调用,只在check.js这个模块里绑定事件 那绑定事件,可以给表单form绑定一个事件嘛,怎么个绑定法呢
T
如果这样用的话,算是违背了seajs的初衷。 seajs其中一项作用是减少全局变量。
你只有
window.check = function (){
alert("!!!!!!!!!!");
}
才能生效,不过这样跟楼上说的意思大致,建议你仔细浏览一下seajs的官网。
S
引用 think2011如果这样用的话,算是违背了seajs的初衷。 seajs其中一项作用是减少全局变量。 你只有 才能生效,不过这样跟楼上说的意思大致,建议你仔细浏览一下seajs的官网。
那请教一下,在模块化的思想下,怎么将验证的逻辑放在seajs里,怎么去绑定呢? 给个链接看一下,找了好久都没找到~
S
做一个简单的例子,目录结构大概是这样的:
S
参与回复
登录后即可参与回复。登录