JQuery函数fn()没有定义
JQuery function fn() is not defined
我在我的项目中使用第三方Jquery插件sumoselect.js
。
在它的内部,一旦我的选择框被渲染,我添加了一个div元素,其中有一个锚标记,并想要处理一个点击事件
我这样做了:
//## Create New Application Specific code
createNew: function () {
var O = this;
O.optDiv.append($('<ul class="form-control"><li><div style="margin-top:4px;"><a class="ispicon ispicon_plus" style="padding-left:12px;cursor:pointer;" data-toggle="modal" data-target="#addgroup" title="Create New"> Create New</a></div></li></ul>').on('click', handleClick));
},
handleClick: function () {
alert("Oh My");
},
但是它说handleClick
没有定义
即使把函数放在createNew
上面也会抛出同样的错误。
我错过了什么
handleClick
是调用它的对象中的一个函数,因此您应该将其更改为this.handleClick
。在下面的例子:
//## Create New Application Specific code
var foo = {
createNew: function () {
$('body').append($('<ul class="form-control"><li><div style="margin-top:4px;"><a class="ispicon ispicon_plus" style="padding-left:12px;cursor:pointer;" data-toggle="modal" data-target="#addgroup" title="Create New"> Create New</a></div></li></ul>').on('click', this.handleClick));
},
handleClick: function () {
alert("Oh My");
}
}
foo.createNew();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
在上面的代码片段中,也可以使用foo.handleClick
代替this.handleClick
。如果this
实际上指的是其他东西(例如。在事件中)。或者正如我最喜欢的Ben Halpern的一句话:
有时候,当我写Javascript的时候,我想把我的手和说"这是扯淡!"但我永远记不住"this"指的是什么
相关文章:
- 用嵌套函数和默认函数定义函数
- 自定义函数中的光标位置
- Jquery未定义函数正在停止其他操作
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- javascript无法重新定义函数内部的全局对象
- 定义函数时,如何捕获外部变量的当前值
- 能够在定义函数表达式之前使用它
- Google Sheet自定义函数返回0
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 其中是自定义函数中的属性
- 创建自定义函数以在函数上运行完整的多选下拉列表
- Google Sheets自定义函数条件格式
- 为什么当我需要位于顶部的函数时,在脚本中的某些点上没有定义函数
- 使用变量的名称,然后为该变量定义函数
- dalek回调或自定义函数
- 如何在angular ui模态控制器中定义函数
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- UI网格:如何从自定义函数访问MODEL_COL_FIELD
- 在构造函数中定义函数会比将其附加到原型消耗更多的内存
- 使用 Javascript 中的函数重新定义函数