gpt4 book ai didi

Javascript 将参数传递给 on ('play' ) eventHandler

转载 作者:行者123 更新时间:2023-11-30 12:17:04 25 4
gpt4 key购买 nike

我为播放元素上的 html5 视频创建了一个事件处理程序,并像这样绑定(bind)它 videoElement.on('play', eventHandler),但我似乎无法传递参数。我尝试使用 on 传递它。我尝试在 .on() 之后添加 .bind。然后我尝试了 IIFE,但似乎没有任何效果。我似乎无法在我的控制台中找到我的参数。

一直在寻找任何帮助,将不胜感激!看来我还需要学习一些关于 jQuery 的知识。

评论是我尝试过的一些。JSFiddle:https://jsfiddle.net/4ghfdodg/

$(document).ready(function(){
var parameters = "someString";
$("video").on('play', logModal);
});

function logModal(e) {
console.log(e);
}

//$("video").on('play', parameters, logModal);
//$("video").on('play', logModal).bind(parameters);
//$("video").on('play', logModal).bind('data', parameters);

最佳答案

添加一个可以传递事件的函数:

$(document).ready(function(){
var parameters = "someString";
$("video").on('play', function(e){ logModal(e, parameters); }); // <-- function
});

function logModal(e, parameters ) { console.log(e + '\n' + parameters); }

编辑:我注意到你试图绑定(bind)一个事件监听器,这就是你如何将上下文绑定(bind)到一个事件:

$(document).ready(function(){

// use your parameters but as an object
var parameters = {
val : 'someString',
num : 46
};

// bind the callback to your object
$("video").on('play', function(e){
logModal(e, this.val);
}.bind(parameters));

});

function logModal(e, val){
console.log(e + '\n' + val);
}

关于Javascript 将参数传递给 on ('play' ) eventHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32160635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com