javascript-在onClick事件上调用函数时使用绑定
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-在onClick事件上调用函数时使用绑定,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1430字,纯文字阅读大概需要3分钟。
内容图文
![javascript-在onClick事件上调用函数时使用绑定](/upload/InfoBanner/zyjiaocheng/682/5be1d443108948f9b26e8ac1f02f7790.jpg)
以下是我正在处理的示例代码.
因此,基本上有两个超链接,比如说A和B.
我想要当您单击A时,我想控制台日志“您选择A”,如果您选择B,则控制台日志“您选择B”.
我对于为什么需要使用bind传递参数感到困惑?
在下面的代码段中,单击MIT时会出现console.log,但是单击Stanford时不会出现
我运行该程序后,立即在控制台上记录了“您单击了斯坦福大学”,此后单击它没有任何反应.
另一方面,“您点击麻省理工学院”的效果很好.
import React, { Component, PropTypes } from 'react';
export default class ToppersView extends Component {
state = {
currentSelected : 'Harvard'
}
handleClick (str) {
console.log(" You selected ",str)
}
render () {
return (
<div className = 'container'>
<h3> University is : {this.state.currentSelected}</h3>
<div>
{/* Works */}
<a onClick = {this.handleClick.bind(null,"MIT")}>#MIT</a>
{/*Does not work */}
<a onclick ={this.handleClick("Stanford")}>#Stanford</a>
</div>
<br/>
</div>
)
}
}
解决方法:
this.handleClick(“ Stanford”)在此处调用该函数,而this.handleClick.bind(null,“ MIT”)绑定上下文和参数并返回该函数,以便以后可以调用.
事件侦听器需要对函数的引用,但是您的handleClick方法不会返回任何内容,因此在执行之后,没有任何东西可以绑定到事件侦听器.您可以修改handleClick方法以返回单击时将调用的另一个函数:
handleClick (str) {
return function(){ // this function will be used as event callback
console.log(" You selected ",str)
}
}
// the function will be executed and the returned function called in event callback
<a onclick ={this.handleClick("Stanford")}>#Stanford</a>
内容总结
以上是互联网集市为您收集整理的javascript-在onClick事件上调用函数时使用绑定全部内容,希望文章能够帮你解决javascript-在onClick事件上调用函数时使用绑定所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。