javascript元素在主视图中起作用,但在局部视图中不做任何事情。它格式正确,但不起作用。有什么建议吗?
看到这个小提琴:http://jsfiddle.net/bgrins/ctkY3/
<input type='text' class="basic"/>
<em id='basic-log'></em>
$(".basic").spectrum({
color: "#f00",
change: function(color) {
$("#basic-log").text("change called: " + color.toHexString());
}
});
我试图将颜色选择器包含在局部视图中。
答案 0 :(得分:0)
您无法在局部视图中实际调用脚本部分并在那里执行此方法。那是设计上的。见Darin的post here
您可以做的是,将此方法保留在主视图中。如果需要,您仍然可以从局部视图中有条件地执行此操作。
所以在主视图中
<script>
var mySettings = mySettings || {};
mySettings.shouldIShowSpectrum = false;
</script>
@Html.Partial("YourPartialViewNameHere")
@section scripts
{
<script>
function enableSpectrum() {
$(".basic").spectrum({
color: "#f00",
change: function (color) {
$("#basic-log").text("change called: " + color.toHexString());
}
});
}
// You can put the above method in an external js file as well.
$(function() {
if (mySettings.shouldIShowSpectrum)
{
enableSpectrum();
}
});
</script>
}
在部分视图中,您可以将mySettings.shouldIShowSpectrum
值设置为true,以便在呈现页面时启用插件。
<h5>My Partial</h5>
<input type='text' class="basic" />
<em id='basic-log'></em>
<script>
console.log("going to enable the plugin");
var mySettings = mySettings || {};
mySettings.shouldIShowSpectrum = true;
</script>