尝试设置.click()处理程序时意外触发
Unexpected firing when trying to set .click() handler
我正试图将一个事件附加到链接的单击处理程序中。我可以通过href
元素来选择元素,但当我在Javascript控制台中输入以下代码时,会触发事件,而不是添加事件处理程序:
$('a[href="example.com"]')[0].click(console.log("Message"))
我已经阅读了.click((的文档,其中指出用参数调用.click
不应该触发事件,并且不确定为什么会发生这种情况。
您正在尝试调用不存在的HTMLELement
的.click()
。
当您对jQuery
对象执行[some number]
时,将返回相应的HTMLElement
。但.click()
是jQuery
的函数,而不是HTMLElement
的函数。此外,您应该将代码封装在一个匿名函数中。
这样做:
$('a[href="example.com"]').click(function(){
console.log("Message")
});
使用HTMLELement,您可以这样做:
$('a[href="example.com"]')[0].onclick = function(){
console.log("Message")
}
但我不建议采用上述方法。只是说上面的也存在。
如果忘记编写函数,则需要将代码封装在函数中。试试这个,
$('a[href="example.com"]').click(function(){console.log("Message")})
Click是jQuery的一个事件,所以当您通过$选择元素时,它会返回jQuery对象,您可以对该对象调用进一步的jQuery事件。但是当您编写[0]
时,它返回DOM元素,并且没有点击事件处理程序。
相关文章:
- GAS 单击事件处理程序导致 UI Web 应用中出现“意外错误”
- Webpack,较少加载程序-意外的令牌-为什么
- Angular应用程序中FOR循环的意外行为
- Electron应用程序上的意外令牌导入
- Node.js使用 Socket.io 的应用程序在OpenShift主机上给出“意外响应代码:400”
- 意外的删除行为谷歌电子表格应用程序
- 意外的输入结束 - 快速/节点应用程序上的 curl JSON
- 回文程序 - 意外的标识符错误
- 语法错误:循环程序中出现意外标记
- Chrome 扩展程序:未捕获语法错误:意外的令牌返回
- 应用程序已意外停止,请重试安卓
- Chrome 扩展程序背景页错误:“未捕获的语法错误:意外的令牌<”
- Jquery文件上传程序blueimp,意外的令牌/字符
- 谷歌应用程序脚本中的属性服务出现意外行为
- firefox32.0.3和IE中的onbeforeunload处理程序/函数出现意外行为
- (#601)分析程序错误:查询意外结束-Javascript FB.api
- href导致使用Angularjs和Twitter引导程序意外重新加载页面
- Angular/JS程序意外提前结束
- Node.js:程序意外退出或只是挂起
- React.js-babel加载程序-意外的令牌