如何将参数传递给javascript onclick函数。请不要jquery
我已经创建了一个按钮,单击它,我想将属性值传递给函数如何将参数传递给javascript onclick函数。请不要jquery,javascript,Javascript,我已经创建了一个按钮,单击它,我想将属性值传递给函数 <button type="button" name="createTask" id="createTask" class="createButton" onclick="Components.init(this)" >Add Task</button> 但是警告这是未定义的。我如何将参数传递给这个javascript函数。 我已经包括了这个component.js,它在html正文的底部有这个函数 <scr
<button type="button" name="createTask" id="createTask" class="createButton" onclick="Components.init(this)" >Add Task</button>
但是警告这是未定义的。我如何将参数传递给这个javascript函数。
我已经包括了这个component.js,它在html正文的底部有这个函数
<script>
var Components = function(){
var attributes;
var _init = function(elm){
attributes = elm.attributes;
console.log("Method Executing:Compnents.init")
console.log(attributes.id.value);
}
return {
init:_init,
}
}();
</script>
var组件=函数(){
var属性;
var_init=函数(elm){
属性=elm.attributes;
log(“正在执行的方法:components.init”)
console.log(attributes.id.value);
}
返回{
初始化:_init,
}
}();
var组件=函数(){
var属性;
var_init=函数(elm){
属性=elm.attributes;
log(“正在执行的方法:components.init”)
console.log(attributes.id.value);
}
返回{
初始化:_init,
}
}();
试试这个:
组件={
init:函数(组件){
log(“方法执行:Components.init”);
警报(组件id);
}
};代码>
添加任务
尝试以下操作:
组件={
init:函数(组件){
log(“方法执行:Components.init”);
警报(组件id);
}
};代码>
在代码中添加任务
:
var Components = function(attributes){
按照惯例,以大写字母开头的函数保留给构造函数。把一个生命用括号括起来是很体贴的,所以很明显,它从一开始就是一个生命
变量属性包含在形式参数列表中,这实际上与声明它相同。未向其传递任何参数,因此其值未定义。因此,以下声明不起任何作用
var attributed = attributes;
由于属性未定义,因此尝试访问id属性将引发错误
}
return {
init:_init,
}
后面有一个逗号(,),是语法错误。始终使用分号也是一个好主意
}()
啊,最后,这是一种生活
代码的固定版本:
var components = (function() {
var _init = function(attributes) {
console.log("Method Executing:Compnents.init");
alert(attributes.id);
};
return {
init:_init
};
}());
并且必须更改调用以反映新函数名:
<button id="createTask" onclick="components.init(this)" >Add Task</button>
在代码中:
var Components = function(attributes){
按照惯例,以大写字母开头的函数保留给构造函数。把一个生命用括号括起来是很体贴的,所以很明显,它从一开始就是一个生命
变量属性包含在形式参数列表中,这实际上与声明它相同。未向其传递任何参数,因此其值未定义。因此,以下声明不起任何作用
var attributed = attributes;
由于属性未定义,因此尝试访问id属性将引发错误
}
return {
init:_init,
}
后面有一个逗号(,),是语法错误。始终使用分号也是一个好主意
}()
啊,最后,这是一种生活
代码的固定版本:
var components = (function() {
var _init = function(attributes) {
console.log("Method Executing:Compnents.init");
alert(attributes.id);
};
return {
init:_init
};
}());
并且必须更改调用以反映新函数名:
<button id="createTask" onclick="components.init(this)" >Add Task</button>
你似乎在按错误的顺序做事<代码>属性
参数应该在内部函数中,当然?您在哪里查阅了外部文件?和组件。init(这个)你能解释一下吗?@NiettheDarkAbsol,我正在创建一个闭包,其中内部函数可以访问外部函数variable@Dnyanesh你似乎在按错误的顺序做事<代码>属性
参数应该在内部函数中,当然?您在哪里查阅了外部文件?和组件。init(这个)你能解释一下吗?@NiettheDarkAbsol,我正在创建一个闭包,其中内部函数可以访问外部函数variable@Dnyanesh_init函数需要一个参数。。您正在传递到init。在原始代码中,您应该将Components=function()中的“attributes”删除为_init=function(attributes)@Joenesy这是一个closureCode–只有答案没有多大帮助。您应该解释OP的问题以及如何着手解决它,然后展示一些代码。。您正在传递到init。在原始代码中,您应该将Components=function()中的“attributes”删除为_init=function(attributes)@Joenesy这是一个closureCode–只有答案没有多大帮助。您应该解释OP的问题以及如何着手解决它,然后展示一些代码。