Javascript 为什么单击或更改事件都不会触发我的函数?

Javascript 为什么单击或更改事件都不会触发我的函数?,javascript,jquery,html,if-statement,Javascript,Jquery,Html,If Statement,我检查了jQuery文档,根据它我可以做如下事情: function notifyme(){ console.log(true) } $('button').on('click', notifyme ); 这是正确的。但我的代码似乎不起作用 这是我代码中的内容。我有一个id为myinput的div,如下所示: <div id="myinput"> <input type="checkbox" value="0"/> </div> 即使我尝试

我检查了jQuery文档,根据它我可以做如下事情:

function notifyme(){
    console.log(true)
}
$('button').on('click', notifyme );
这是正确的。但我的代码似乎不起作用

这是我代码中的内容。我有一个id为
myinput
的div,如下所示:

<div id="myinput">
    <input type="checkbox" value="0"/>
</div>
即使我尝试:

$('#myinput input').on( 
    'click', 
    My_fn( $(this).prop('checked') )
);
我没有控制台日志

有趣的是,如果我将此代码放在脚本的开头:

My_fn( $('#myinput input').prop('checked') )
由于选中了复选框,我得到了
true
的控制台日志

为什么
单击
更改
事件都不会触发
My\u fn()
函数

回答 我明白了

首先,我在使用on时删除了函数的参数。那么这个
My\u fn($(this).prop('checked'))
变成了this
My\u fn()
。现在使用
.on()
时。我只是写

$('#myinput input').on( 
    'click', 
    My_fn
);

它成功了。感谢所有帮助过你的人。

请尝试下面的代码。将$(this.prop('checked')作为函数中的参数传递是错误的

$('#myinput input').on( 
    'click', 
    My_fn
);

My_fn(){
  if( $(this).prop('checked')== true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}
或者您可以使用is()选择器检查天气复选框是否选中

My_fn(){
  if( $(this).is(':checked') == true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}

试试下面的代码。将$(this.prop('checked')作为函数中的参数传递是错误的

$('#myinput input').on( 
    'click', 
    My_fn
);

My_fn(){
  if( $(this).prop('checked')== true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}
或者您可以使用is()选择器检查天气复选框是否选中

My_fn(){
  if( $(this).is(':checked') == true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}

试试下面的代码。将$(this.prop('checked')作为函数中的参数传递是错误的

$('#myinput input').on( 
    'click', 
    My_fn
);

My_fn(){
  if( $(this).prop('checked')== true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}
或者您可以使用is()选择器检查天气复选框是否选中

My_fn(){
  if( $(this).is(':checked') == true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}

试试下面的代码。将$(this.prop('checked')作为函数中的参数传递是错误的

$('#myinput input').on( 
    'click', 
    My_fn
);

My_fn(){
  if( $(this).prop('checked')== true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}
或者您可以使用is()选择器检查天气复选框是否选中

My_fn(){
  if( $(this).is(':checked') == true ){
    console.log(true)
  }
  else{
    console.log(false)
  }
}

首先声明函数。 执行
.on()
时,您已经将输入元素的引用发送到事件处理程序(My_fn),因此不必向函数发送参数。相反,在函数处理程序中,尝试获取元素的属性

试试这样的

function My_fn(theVal){
  if( $(this).is(':checked') === true ){
    console.log(true)
  }else{
    console.log(false)
  }
}
$('#myinput input').on('change', My_fn);

首先声明函数。 执行
.on()
时,您已经将输入元素的引用发送到事件处理程序(My_fn),因此不必向函数发送参数。相反,在函数处理程序中,尝试获取元素的属性

试试这样的

function My_fn(theVal){
  if( $(this).is(':checked') === true ){
    console.log(true)
  }else{
    console.log(false)
  }
}
$('#myinput input').on('change', My_fn);

首先声明函数。 执行
.on()
时,您已经将输入元素的引用发送到事件处理程序(My_fn),因此不必向函数发送参数。相反,在函数处理程序中,尝试获取元素的属性

试试这样的

function My_fn(theVal){
  if( $(this).is(':checked') === true ){
    console.log(true)
  }else{
    console.log(false)
  }
}
$('#myinput input').on('change', My_fn);

首先声明函数。 执行
.on()
时,您已经将输入元素的引用发送到事件处理程序(My_fn),因此不必向函数发送参数。相反,在函数处理程序中,尝试获取元素的属性

试试这样的

function My_fn(theVal){
  if( $(this).is(':checked') === true ){
    console.log(true)
  }else{
    console.log(false)
  }
}
$('#myinput input').on('change', My_fn);

美元(本)。将内部函数指定为非参数。要了解更多信息,请再次阅读..并检查作为参数$获取的函数(此)。将内部函数指定为非参数。要了解更多信息,请再次阅读..并检查作为参数$获取的函数(此)。将内部函数指定为非参数。要了解更多信息,请再次阅读..并检查作为参数$获取的函数(此)。将内部函数指定为非参数。若要了解更多信息,请再次阅读..并检查作为参数获取的函数