jQuery 中 $(function() {})jQuery(function() {}) 都是 $(document).ready(function() {}) 的缩写。因为,在 jQuery 中定义了 $===jQuery

但是,当我们在调用多个 JavaScript 库的时候,可能会出现 $ 符号冲突的现象。比如:


$(function() { var $ele = $('xxx'); // 如果这时候,$===jQuery require(['jquery.qrcode'], function() { var $ele2 = $('xxx'); // 出错 }); });

第二个 $ 的时候,引入了 jquery-qrcode.js 库,$ 被重新定义了,不再是 jQuery。所以 jQuery 获取元素的方法无效,不会得到相应的元素。解决:可以将 $ 作为 function 的参数传进去,或者直接用 jQuery

如果 jQuery 里面的 $ 代表的已经不是 jQuery 了,而我们又想使用 $ 符号怎么办?如:


... // 假如,这里引用了其它 JS 库,$ 已经被其它名称代替了。 $(function() { var $ele = $('xxx'); // 出错,获取不到相应的元素,因为,$ 已经不是代表 jQuery 了 });

解决:jQuery 可以在 ready 的 function 参数指定 jQuery 的代表符号。


$(function($) { // 指定 $===jQuery,就算外部的 $ 是其它名称。在里面 $ 代表是 jQuery。 })

其实,你可以用其它的符号或名称来指定 jQuery 的符号,如:


$(function(jq) { // 函数里面 jq 代表的就算 jQuery,相当于默认情况下的 $ });

jquery.qrcode.js is jquery plugin for pure browser qrcode generation.

  • First include the js

<script type="text/javascript" src="jquery.qrcode.min.js"></script>
  • Then create a DOM element which gonna contains the generated qrcode image in your html.

<div id="qrcode"></div>
  • Generate the qrcode.

jQuery(function($) { $("#qrcode").qrcode({ text: "https://lizsblog.com", // qrcode content, it can be a url render: "canvas", // optional, [canvas|table], default: canvas width: 150, // optional height: 150, // optional background: "#fff", // optional foreground: "#000" // optional }); });