Javascript 如何在react中使用className执行函数?
实际上,我使用videojs来显示视频。它有自己的功能。我想在它的播放按钮上执行我自己的功能。 播放按钮的代码为Javascript 如何在react中使用className执行函数?,javascript,reactjs,Javascript,Reactjs,实际上,我使用videojs来显示视频。它有自己的功能。我想在它的播放按钮上执行我自己的功能。 播放按钮的代码为 <button class="vjs-big-play-button" type="button" title="Play Video" aria-disabled="false"><span aria-hidden="true" class="vjs-
<button class="vjs-big-play-button" type="button" title="Play Video" aria-disabled="false"><span aria-hidden="true" class="vjs-icon-placeholder"></span><span class="vjs-control-text" aria-live="polite">Play Video</span></button>
输出:
您可以在onClick
事件上调用playButton
函数,而不是将其绑定到id
或className
,如下所示:
从“React”导入React;
导入“/style.css”;
导出默认函数App(){
常量播放按钮=()=>{
log(“函数已执行”);
};
返回(
播放视频
);
}
链接到工作示例:
个人意见:避免混合使用ReactJS和jQuery。输出:
您可以在onClick
事件上调用playButton
函数,而不是将其绑定到id
或className
,如下所示:
从“React”导入React;
导入“/style.css”;
导出默认函数App(){
常量播放按钮=()=>{
log(“函数已执行”);
};
返回(
播放视频
);
}
链接到工作示例:
个人意见:避免混合使用ReactJS和jQuery。在React中使用Videojs库,很容易实现。它为您提供了许多其他控制,否则我们必须实施这些控制:) 代码沙盒链接: Video.js
import React from 'react';
import videojs from 'video.js';
export default class VideoPlayer extends React.Component {
componentDidMount() {
// instantiate video.js
this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
console.log('onPlayerReady', this);
});
}
// destroy player on unmount
componentWillUnmount() {
if (this.player) {
this.player.dispose();
}
}
render() {
return (
<div data-vjs-player>
<video ref={node => (this.videoNode = node)} className="video-js" />
</div>
);
}
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';
const videoJsOptions = {
autoplay: false,
playbackRates: [0.5, 1, 1.25, 1.5, 2],
width: 720,
height: 300,
controls: true,
sources: [
{
src: '//vjs.zencdn.net/v/oceans.mp4',
type: 'video/mp4',
},
],
};
const App = () =>
<div>
<Videojs {...videoJsOptions} />
</div>;
render(<App />, document.getElementById('root'));
从“React”导入React;
从“video.js”导入videojs;
导出默认类VideoPlayer扩展React.Component{
componentDidMount(){
//实例化video.js
this.player=videojs(this.videoNode,this.props,函数onPlayerReady()){
log('onPlayerReady',this);
});
}
//卸载时摧毁玩家
组件将卸载(){
if(this.player){
this.player.dispose();
}
}
render(){
返回(
(this.videoNode=node)}className=“video js”/>
);
}
}
App.js
import React from 'react';
import videojs from 'video.js';
export default class VideoPlayer extends React.Component {
componentDidMount() {
// instantiate video.js
this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
console.log('onPlayerReady', this);
});
}
// destroy player on unmount
componentWillUnmount() {
if (this.player) {
this.player.dispose();
}
}
render() {
return (
<div data-vjs-player>
<video ref={node => (this.videoNode = node)} className="video-js" />
</div>
);
}
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';
const videoJsOptions = {
autoplay: false,
playbackRates: [0.5, 1, 1.25, 1.5, 2],
width: 720,
height: 300,
controls: true,
sources: [
{
src: '//vjs.zencdn.net/v/oceans.mp4',
type: 'video/mp4',
},
],
};
const App = () =>
<div>
<Videojs {...videoJsOptions} />
</div>;
render(<App />, document.getElementById('root'));
从“React”导入React;
从'react dom'导入{render};
从“/video.js”导入Videojs;
const videoJsOptions={
自动播放:错误,
回放率:[0.5,1,1.25,1.5,2],
宽度:720,
身高:300,
控制:对,
资料来源:[
{
src:“//vjs.zencdn.net/v/oceans.mp4”,
键入:“视频/mp4”,
},
],
};
常量应用=()=>
;
render(,document.getElementById('root'));
在React中使用Videojs库,很容易实现。它为您提供了许多其他控制,否则我们必须实施这些控制:)
代码沙盒链接:
Video.js
import React from 'react';
import videojs from 'video.js';
export default class VideoPlayer extends React.Component {
componentDidMount() {
// instantiate video.js
this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
console.log('onPlayerReady', this);
});
}
// destroy player on unmount
componentWillUnmount() {
if (this.player) {
this.player.dispose();
}
}
render() {
return (
<div data-vjs-player>
<video ref={node => (this.videoNode = node)} className="video-js" />
</div>
);
}
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';
const videoJsOptions = {
autoplay: false,
playbackRates: [0.5, 1, 1.25, 1.5, 2],
width: 720,
height: 300,
controls: true,
sources: [
{
src: '//vjs.zencdn.net/v/oceans.mp4',
type: 'video/mp4',
},
],
};
const App = () =>
<div>
<Videojs {...videoJsOptions} />
</div>;
render(<App />, document.getElementById('root'));
从“React”导入React;
从“video.js”导入videojs;
导出默认类VideoPlayer扩展React.Component{
componentDidMount(){
//实例化video.js
this.player=videojs(this.videoNode,this.props,函数onPlayerReady()){
log('onPlayerReady',this);
});
}
//卸载时摧毁玩家
组件将卸载(){
if(this.player){
this.player.dispose();
}
}
render(){
返回(
(this.videoNode=node)}className=“video js”/>
);
}
}
App.js
import React from 'react';
import videojs from 'video.js';
export default class VideoPlayer extends React.Component {
componentDidMount() {
// instantiate video.js
this.player = videojs(this.videoNode, this.props, function onPlayerReady() {
console.log('onPlayerReady', this);
});
}
// destroy player on unmount
componentWillUnmount() {
if (this.player) {
this.player.dispose();
}
}
render() {
return (
<div data-vjs-player>
<video ref={node => (this.videoNode = node)} className="video-js" />
</div>
);
}
}
import React from 'react';
import { render } from 'react-dom';
import Videojs from './video.js';
const videoJsOptions = {
autoplay: false,
playbackRates: [0.5, 1, 1.25, 1.5, 2],
width: 720,
height: 300,
controls: true,
sources: [
{
src: '//vjs.zencdn.net/v/oceans.mp4',
type: 'video/mp4',
},
],
};
const App = () =>
<div>
<Videojs {...videoJsOptions} />
</div>;
render(<App />, document.getElementById('root'));
从“React”导入React;
从'react dom'导入{render};
从“/video.js”导入Videojs;
const videoJsOptions={
自动播放:错误,
回放率:[0.5,1,1.25,1.5,2],
宽度:720,
身高:300,
控制:对,
资料来源:[
{
src:“//vjs.zencdn.net/v/oceans.mp4”,
键入:“视频/mp4”,
},
],
};
常量应用=()=>
;
render(,document.getElementById('root'));
这篇文章有用吗?这篇文章有用吗?