jQuery 可拖动函数导致 PrimeFaces JSF 页面出错
jQuery draggable function causes error in PrimeFaces JSF page
我在 JSF 中使用 jQuery 来制作拖放功能。可拖动功能独立运行良好,但在 JSF 页面中运行时,它会抛出错误!
代码如下:
function attachClickEvents() {
$(".circle").on('click', function(event){
event.stopPropagation();
event.stopImmediatePropagation();
$(".circle").each(function(){
$(this).removeClass("selected");
});
$(this).addClass("selected");
// $(this).draggable({containment:'parent',drag: handleDragStop});
$(this).draggable({containment:$(this).parent().parent().parent()});
});
}
令人惊讶的是,$(this).addClass("selected");
作品工作正常,并且该标记的外观发生了变化。
但是下一条语句抛出错误:
Uncaught TypeError: $(...).draggable is not a function
我正在使用 JSF 推荐的包含方式 jQuery:
<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<h:outputScript library="primefaces" name="jquery/jquery-plugins.js" target="head" />
怎么了?
问题是我在我的代码中明确添加了一个 jquery 版本。另一位独立工作的开发人员也包含了另一个版本的 jquery。所有3个都是矛盾的。我删除了 jquery 的显式包含,并包含了 prime faces 提供的那个,它开始工作了。始终确保您没有多次包含不同 versions.Hope 的 jquery 这有助于某些
我在 JSF 中使用 jQuery 来制作拖放功能。可拖动功能独立运行良好,但在 JSF 页面中运行时,它会抛出错误!
代码如下:
function attachClickEvents() {
$(".circle").on('click', function(event){
event.stopPropagation();
event.stopImmediatePropagation();
$(".circle").each(function(){
$(this).removeClass("selected");
});
$(this).addClass("selected");
// $(this).draggable({containment:'parent',drag: handleDragStop});
$(this).draggable({containment:$(this).parent().parent().parent()});
});
}
令人惊讶的是,$(this).addClass("selected");
作品工作正常,并且该标记的外观发生了变化。
但是下一条语句抛出错误:
Uncaught TypeError: $(...).draggable is not a function
我正在使用 JSF 推荐的包含方式 jQuery:
<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<h:outputScript library="primefaces" name="jquery/jquery-plugins.js" target="head" />
怎么了?
问题是我在我的代码中明确添加了一个 jquery 版本。另一位独立工作的开发人员也包含了另一个版本的 jquery。所有3个都是矛盾的。我删除了 jquery 的显式包含,并包含了 prime faces 提供的那个,它开始工作了。始终确保您没有多次包含不同 versions.Hope 的 jquery 这有助于某些