Javascript 检测添加到视频元素的属性并对其进行操作

Javascript 检测添加到视频元素的属性并对其进行操作,javascript,jquery,html5-video,Javascript,Jquery,Html5 Video,我需要在加载内容后,即用户操作DOM时,监听添加到视频标记的controls=“controls”属性 这是因为我有一组自定义控件,不希望人们将默认控件值添加回 我试过几件事: $(document).ready(function(){ $('#vidplayer').live(function(){ var attr = $(this).attr('controls'); if(attr) { $(this).re

我需要在加载内容后,即用户操作DOM时,监听添加到视频标记的controls=“controls”属性

这是因为我有一组自定义控件,不希望人们将默认控件值添加回

我试过几件事:

$(document).ready(function(){
    $('#vidplayer').live(function(){
        var attr = $(this).attr('controls');
        if(attr)
        {
            $(this).removeAttr('controls');
        }
    });
});

我已经做了很多关于事件倾听的研究,但是我正在努力让我的头脑清醒过来,我希望这里有人有知识来帮助我

视频标签的ID为#vidplayer

除此之外,如果有人知道一种方法可以同时禁用所有控件,或者禁用全屏模式,那么这是非常有用的

希望我已经解释清楚了


如果您不想求助于轮询机制(定期检查设置间隔),请提前感谢, 您必须使用(DOMAttrModified),因为它们会降低浏览器性能,或者在大多数浏览器中尚未实现

我不能在这里测试它,因为我的浏览器(chrome)还没有实现它们。但事情应该是这样的:

// select the target node
var target = document.getElementById('videoelement');

// create an observer instance
var observer = new MutationObserver(function(mutations) {
    $(target).removeAttr('controls');
});

// configuration of the observer:
var config = { attributes: true, childList: false, characterData:   false }

// pass in the target node, as well as the observer options
observer.observe(target, config);

如果“人员”也删除了事件侦听器,该怎么办/这是一个很好的观点,我认为如果人们在第一个关口就被拦住,他们就不太可能去追求一项任务。所以我非常想把第一个障碍放进去,我考虑了一个间隔来检查属性的每一秒,但我不确定这是否理想!我不想让任何脚本对我的DOM强制执行这种神奇的行为,对吗?节点就是这样,一旦有人将其附加到文档中,他们就可以并且将用它做任何他们想做的事情。啊,谢谢你,我想浏览器性能是他们没有正确实现这一点的原因。谢谢你的回答,我想这就是我想要的衣柜。
// select the target node
var target = document.getElementById('videoelement');

// create an observer instance
var observer = new MutationObserver(function(mutations) {
    $(target).removeAttr('controls');
});

// configuration of the observer:
var config = { attributes: true, childList: false, characterData:   false }

// pass in the target node, as well as the observer options
observer.observe(target, config);