为什么点击或更改事件都没有触发我的函数
Why does none of click or change event trigger my function?
好吧,我检查了jQuery文档,根据它,我可以做如下的事情:
function notifyme(){
console.log(true)
}
$('button').on('click', notifyme );
这是正确的。但是我的代码似乎不起作用。
这是我的代码中的内容。我有一个div 的 id myinput
如下所示:
<div id="myinput">
<input type="checkbox" value="0"/>
</div>
这是我的jQuery代码:
$('#myinput input').on(
'change',
My_fn( $(this).prop('checked') )
);
My_fn( theVal ){
if( theVal == true ){
console.log(true)
}
else{
console.log(false)
}
}
即使我尝试:
$('#myinput input').on(
'click',
My_fn( $(this).prop('checked') )
);
我没有控制台日志。
有趣的是,如果我将此代码放在脚本的开头:
My_fn( $('#myinput input').prop('checked') )
自从选中该复选框以来,我得到了true
的控制台日志。
为什么click
或change
事件都不会触发My_fn()
功能?
答知道了。
首先,我在使用 on 时删除了函数的参数。所以这个 My_fn( $(this).prop('checked') )
变成了这个My_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)
}
}
首先声明函数。当您执行.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);
相关文章:
- 可以Resharper在我的javascript函数声明中添加分号
- 为什么我的JavaScript堆栈排序函数不起作用
- 加速我的复杂函数绘图仪(canvas+javascript)
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- 使用JAVASCRIPT转换货币.可以't通过我的函数设置转换后的输入文本字段的值
- 为什么我的控制器没有启动函数.js脚本
- 为什么我的函数没有被调用呢
- 由于某种原因,我的JavaScript函数无法工作
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 我应该如何声明我的自调用函数
- 为什么我的函数没有返回准确的计数
- 为什么我的回调函数没有运行
- 为什么我的jQuery点击函数没有触发
- 我的函数返回“未定义”
- 为什么我的JavaScript函数没有返回选中的数组值
- 用我的函数jquery给出数据/参数
- 为什么我的javascript地理编码函数返回空白结果
- 从未达到我的函数调用-ReactJs 0.12.0
- 我的函数不会返回要保存在数组中的对象
- 我的徽章;如果“;为什么没有调用关联的函数