Javascript document.ready-won'中的函数;行不通
我有以下功能:Javascript document.ready-won'中的函数;行不通,javascript,jquery,Javascript,Jquery,我有以下功能: $(document).ready(function(){ function fav(type){ switch(type){ case "radius":if(radius_fav.indexOf(rad)== -1){ radius_fav.push(rad); } break; case
$(document).ready(function(){
function fav(type){
switch(type){
case "radius":if(radius_fav.indexOf(rad)== -1){
radius_fav.push(rad);
}
break;
case "transform":if(transform_fav.indexOf(final_transformation) == -1){transform_fav.push(final_transformation);}
break;
default:if(bshadow !== none && box_fav.indexOf(bshadow) == -1){box_fav.push(bshadow);}
break;
}
}//end of switch statement
});
在$(document).ready()内部。除非将此函数放在document.ready()外部,否则此函数将不起作用。有什么想法吗?html页面中包含Jquery标记
慰问:
未捕获引用错误:未定义fav
我有以下函数…在$(document.ready()内部。除非将此函数放在document.ready()外部,否则它将无法工作。有什么想法吗
听起来像是从onXyz
属性调用函数,如下所示:
<div onclick="fav('radius')">...</div>
…然后在ready
中:
$("#radius").on("click", function() {
fav('radius');
});
…或类似的
您不必为所有这些id
s指定,事实上,您可以对其中几个使用相同的处理程序。例如:
<div class="control" data-type="radius">...</div>
<div class="control" data-type="transform">...</div>
<!-- ... -->
请注意,在大多数情况下,您根本不需要
ready
功能。只需将一个内联调用的函数表达式放在文档末尾,就在关闭标记之前:
<script>
(function() {
$(".control").on("click", function() {
fav(this.getAttribute("data-type"));
// Or:
// fav($(this).attr("data-type"));
// But not .data(), that's for something else, not for just accessing data-* attributes
});
})();
</script>
</body>
</html>
(功能(){
$(.control”)。在(“单击”,函数()上{
fav(this.getAttribute(“数据类型”);
//或:
//fav($(this.attr(“数据类型”));
//但不是.data(),这是用于其他用途,而不仅仅是用于访问数据-*属性
});
})();
如果不控制
脚本
标记的位置,那么实际上只需要一个就绪
处理程序。那么为什么要将它放在伪就绪处理程序中呢?我猜您正面临范围问题,请检查控制台是否有错误
$(".control").on("click", function() {
fav(this.getAttribute("data-type"));
// Or:
// fav($(this).attr("data-type"));
// But not .data(), that's for something else, not for just accessing data-* attributes
});
<script>
(function() {
$(".control").on("click", function() {
fav(this.getAttribute("data-type"));
// Or:
// fav($(this).attr("data-type"));
// But not .data(), that's for something else, not for just accessing data-* attributes
});
})();
</script>
</body>
</html>