Snap.js JQuery conflict?



在我的 Ratchet 项目中实现snap.js后,我在使用 jQuery 访问我的 div 元素时遇到问题,有谁知道我为什么以及如何解决这个问题?

document.getElementById('mydivId').innerHTML   //THIS WORKS
$('#mydivId').html()  //THIS DOESN'T WORK

我已经包含了jquery.js并实现了$(document).ready(function(){});

我收到"未捕获的类型错误:无法调用 null 的'ready'方法"

尝试这样的东西,而不是$使用jQuery,所以重命名任何东西。

 jQuery( document ).ready(function( $ ) {
   // Code that uses jQuery's $ can follow here.
 });

其他替代方案

var j = jQuery.noConflict();
// Do something with jQuery
j( "div p" ).hide();

好的,我找到了问题所在...事实证明,Snap.js也像Jquery一样使用$别名,所以这就是产生冲突的原因。在索引上的脚本标记中.html我重命名了所有出现的 $ 并将其更改为 $$。

    // Helper
    $$ = function(id){
        return document.getElementById(id);
    }, 
                ....
                $$('right-drawer').classList.add('active-drawer');
                ....
                $$('toggle-left').addEventListener('click', function(){
                    snapper.open('left');
                 });

等等。

最新更新