日期: 2022-09-20 13:51:41 浏览数:4

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
吕梁小程序制作【吕梁企业邮箱】吕梁网站外包、吕梁微信商城开发、吕梁网店美工、吕梁淘宝设计

吕梁市位于山西省中部西侧,因吕梁山脉由北向南纵贯全境而得名。西隔黄河同陕西榆林相望,东北与省会太原市相连,东部、东南部分别和晋中、临汾接壤。全市基本属于温带大陆性季风气候区,冬寒夏暑,四季分明。市境总面积2.1万平方千米,下辖1个市辖区、10个县,代管2个县级市,市政府驻离石区。
吕梁是革命老区,革命战争时期是红军东征主战场、晋绥边区首府和中央后委机关所在地。一部《吕梁英雄传》,是战争年代吕梁人民不畏牺牲、前赴后继的真实写照。 吕梁是发展新区,于2003年撤地设市,是山西省最年轻的地级市,代管的孝义市是山西省县域经济发展的排头兵。
2020年10月20日,吕梁市入选全国双拥模范城(县)名单。 [1]
首先,要知道再react中的合成事件和原生事件之间的区别。
1、合成事件
在jsx中直接绑定的事件,如
<a ref=”aaa” onClick={(e)=>this.handleClick(e)}>更新</a>
这里的handleClick事件就是合成事件
2、原生事件
通过js原生代码绑定的事件,如
document.body.addEventListener('click',e=>{
// 通过e.target判断阻止冒泡
if(e.target&&e.target.matches('a')){
return;
}
console.log('body');
})
//或
this.refs.update.addEventListener('click',e=>{
console.log('update');
});3、阻止冒泡事件分三种情况
A、阻止合成事件间的冒泡,用e.stopPropagation();
import React,{ Component } from 'react';
import ReactDOM,{findDOMNode} from 'react-dom';
class Counter extends Component{
constructor(props){
super(props);
this.state = {
count:0,
}
}
handleClick(e){
// 阻止合成事件间的冒泡
e.stopPropagation();
this.setState({count:++this.state.count});
}
testClick(){
console.log('test')
}
render(){
return(
<div ref="test" onClick={()=>this.testClick()}>
<p>{this.state.count}</p>
<a ref="update" onClick={(e)=>this.handleClick(e)}>更新</a>
</div>
)
}
}
var div1 = document.getElementById('content');
ReactDOM.render(<Counter/>,div1,()=>{});B、阻止原生事件与最外层document上的事件间的冒泡,用e.nativeEvent.stopImmediatePropagation();
import React,{ Component } from 'react';
import ReactDOM,{findDOMNode} from 'react-dom';
class Counter extends Component{
constructor(props){
super(props);
this.state = {
count:0,
}
}
handleClick(e){
// 阻止原生事件与最外层document上的事件间的冒泡
e.nativeEvent.stopImmediatePropagation();
this.setState({count:++this.state.count});
}
render(){
return(
<div ref="test">
<p>{this.state.count}</p>
<a ref="update" onClick={(e)=>this.handleClick(e)}>更新</a>
</div>
)
}
componentDidMount() {
document.addEventListener('click', () => {
console.log('document');
});
}
}
var div1 = document.getElementById('content');
ReactDOM.render(<Counter/>,div1,()=>{});C、阻止合成事件与除最外层document上的原生事件上的冒泡,通过判断e.target来避免
import React,{ Component } from 'react';
import ReactDOM,{findDOMNode} from 'react-dom';
class Counter extends Component{
constructor(props){
super(props);
this.state = {
count:0,
}
}
handleClick(e){
this.setState({count:++this.state.count});
}
render(){
return(
<div ref="test">
<p>{this.state.count}</p>
<a ref="update" onClick={(e)=>this.handleClick(e)}>更新</a>
</div>
)
}
componentDidMount() {
document.body.addEventListener('click',e=>{
// 通过e.target判断阻止冒泡
if(e.target&&e.target.matches('a')){
return;
}
console.log('body');
})
}
}
var div1 = document.getElementById('content');
ReactDOM.render(<Counter/>,div1,()=>{});吕梁小程序制作【吕梁企业邮箱】吕梁网站外包、吕梁微信商城开发、吕梁网店美工、吕梁淘宝设计
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)