如何修复这段jQuery UI拖拽功能代码的JSLint错误?
修复JSLint错误及代码语法问题
没问题,我来帮你一步步解决这些问题,顺便补上代码里隐藏的语法小坑:
1. 修复'$'未定义即被使用错误
JSLint默认不知道$是jQuery的全局变量别名,你可以二选一解决:
- 在代码最顶部添加全局声明注释,明确告诉JSLint
$是全局变量:/* global $ */ - 如果你是用JSLint的可视化工具,直接在设置里勾选"jQuery"选项,让它自动识别jQuery的全局变量。
2. 修复'function'与'('之间应恰好有一个空格错误
你的代码里$(function){的写法不符合JSLint的空格规范,需要在function和(之间加一个空格,同时注意$(function)本身缺了一对括号(匿名函数即使没有参数也要保留括号),正确写法是$(function () {。
3. 修复代码里的其他语法错误
除了JSLint报错的问题,代码还有两个容易忽略的语法问题:
axis: x和axis:y里的x、y是字符串类型,必须加单引号或双引号,否则会被当成未定义的变量;- 调整函数调用的括号、大括号间距,让代码风格更统一规范。
最终修复后的完整代码
/* global $ */ $(function () { $('.box').draggable(); $('#box1').draggable({ scroll: true }); $('#box2').draggable({ axis: 'x' }); $('#box3').draggable({ axis: 'y' }); });
这样修改后,JSLint的两个错误会被彻底解决,代码也能正常运行拖拽功能啦。
内容的提问来源于stack exchange,提问作者Anthony April
相关产品推荐
相关产品推荐

