如何使用jQuery挂钩正在更改html元素而不是id的事件?

时间:2015-12-23 16:11:03

标签: javascript jquery dom

我有一个divid lveventplayer。在某些时候,视频流会从我无法跟踪的另一个脚本中触发,div元素将替换为iframeid仍然是一样的。

我的问题是:我可以在使用iframe更改div时使用其他函数吗?

2 个答案:

答案 0 :(得分:0)

是的,有可能,您可以使用find方法找到特定的div并执行逻辑。

示例:$('#your div is not dynamic')。find('#id of the player')。

答案 1 :(得分:0)

可能是 DOMNodeInserted 事件正在寻找,因为div实际上被替换为另一个元素,并且这个新元素必须被嵌入到DOM中,所以 DOMNodeInserted 事件被调用。

// simulate video streaming event that triggers a div-element to be replaced with a different iframe-element
setTimeout(function(){
  var testDiv = $('#testDiv');
  var testIframe = $('<iframe id="testDiv"></iframe>');
  testDiv.replaceWith(testIframe);
},3000);

// ACTUAL CODE
// check for new elements that are going to be inserted
$('body').on('DOMNodeInserted',function(){
  // this anonymous function is called as soon as a new DOM-element is inserted,
  // therefore you have to check whether a new inserted element is your iframe-element
  var testIframe = $('#testDiv');
  if(testIframe.length){
    alert('iframe: '+testIframe.attr('id'));
  }
});

希望这有帮助。