JavaScript监听jQuery事件

3

我遇到了一个问题,需要将jQuery中的事件传递给JavaScript。我先设置了JS事件监听器,然后从外部文件触发了jQuery事件,但是监听器没有被触发。以下是一些代码:

监听器

<script type="text/javascript">
document.addEventListener('readyToPlay', loadLibs);

function loadLibs() {
    alert('success');
}

</script>
<script src="/assets/js/plugins/co/co.js" type="text/javascript"></script>

包含文件 - 弹出框返回(函数),这意味着jQuery已加载。

function init() {
    alert(typeof jQuery);
    $(document).trigger('readyToPlay');
}

我认为这个问题可能是由于在外部文件中引用文档所致,但我不确定如何解决它。


在绑定事件之前,您是否创建了 'readyToPlay' 事件? - Teemu
https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events - Abhitalks
jQuery已经用trigger做到了这一点,不是吗? - Vladislav Dimitrov
1个回答

2

你不能使用jQuery,但是你可以在Vanilla JS中调用它

function init() {
  var event= new CustomEvent('readyToPlay',[]);
  document.dispatchEvent(event);
}

1
谢谢,这对我有用。不过,jQuery 事件不应该和 JavaScript 基本相同吗? - Vladislav Dimitrov
这里我唯一发现的原因是,我不是一个真正的 jQuery 专家。https://dev59.com/JGgv5IYBdhLWcg3wCsg8 - gbalduzzi
@VladislavDimitrov,你的答案可能在这里:https://dev59.com/11gR5IYBdhLWcg3wvPiM#41727891 还有:https://dev59.com/4HbZa4cB1Zd3GeqPK-Gg#18901932 - JohnK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接