Javascript 使用jquery对滑动切换作出反应
我试图通过制作一份包含可折叠项目的菜单来学习一些反应。我正在使用jQuery的slideToggle函数,但我无法让它正常工作 react代码的相关部分如下:Javascript 使用jquery对滑动切换作出反应,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我试图通过制作一份包含可折叠项目的菜单来学习一些反应。我正在使用jQuery的slideToggle函数,但我无法让它正常工作 react代码的相关部分如下: var CollapsableMenuItem = React.createClass({ toggleDescription: function(el) { $(el).slideToggle(); }, render: function() { return (
var CollapsableMenuItem = React.createClass({
toggleDescription: function(el) {
$(el).slideToggle();
},
render: function() {
return (
<li>
<label className='title'
onClick={this.toggleDescription.bind(this)}>
{this.props.item.title}
</label>
<div className='description'>
<label>
{this.props.item.body}
</label>
</div>
</li>
);
}
});
因为这是需要滑动切换的实际元素
绑定“this[element]”以便jQuery在其上滑动切换的正确方法是什么
我现在正在工作,里面还有一些你可以忽略的东西。相关代码位于javascript部分的底部
我想到的第二个问题是:使用jQuery.ready函数绑定点击事件等是否不好。。。有什么反应
理论上,我可以将jquery文件与每个组件文件及其事件处理程序捆绑在一起。React中的
这个的上下文不是元素,而是React组件。jQuery不知道如何将其用作选择器
您需要获取对要使用jQuery控制的元素的引用
makeTogglable: function(element) {
$element = $(element);
this.toggle = function() {
$element.slideToggle();
};
},
render: function() {
return (
<li>
<label onClick={this.toggle}></label>
<div ref={this.makeTogglable}></div>
</li>
);
}
maketoggable:函数(元素){
$element=$(element);
this.toggle=函数(){
$element.slideToggle();
};
},
render:function(){
返回(
);
}
采用回调,该回调将在装入组件时运行。DOM元素将被传递给回调,以便您可以直接使用它
在本例中,我们使用它创建并公开一个新的this.toggle
方法,该方法在元素上调用.slideToggle
最后,我们将新的this.toggle
方法传递给要触发切换的元素的onClick
处理程序。在这种情况下,它是
在React中的上下文不是元素,而是React组件。jQuery不知道如何将其用作选择器
您需要获取对要使用jQuery控制的元素的引用
makeTogglable: function(element) {
$element = $(element);
this.toggle = function() {
$element.slideToggle();
};
},
render: function() {
return (
<li>
<label onClick={this.toggle}></label>
<div ref={this.makeTogglable}></div>
</li>
);
}
maketoggable:函数(元素){
$element=$(element);
this.toggle=函数(){
$element.slideToggle();
};
},
render:function(){
返回(
);
}
采用回调,该回调将在装入组件时运行。DOM元素将被传递给回调,以便您可以直接使用它
在本例中,我们使用它创建并公开一个新的this.toggle
方法,该方法在元素上调用.slideToggle
最后,我们将新的this.toggle
方法传递给要触发切换的元素的onClick
处理程序。在这种情况下,是
谢谢您的帮助!(你们是不是碰巧在招聘:)?)事实上它不起作用,这里是更新代码的地方:确保你们使用的是最新版本的React。我认为JSFIDLE在默认情况下使用了一个旧的——是的,我们正在招聘。请随时联系我dan@astraldynamics.co.uk如果你感兴趣,谢谢你的帮助!(你们是不是碰巧在招聘:)?)事实上它不起作用,这里是更新代码的地方:确保你们使用的是最新版本的React。我认为JSFIDLE在默认情况下使用了一个旧的——是的,我们正在招聘。请随时联系我dan@astraldynamics.co.uk如果你感兴趣的话。