2012-03-10 86 views
-2

在我看来,我有这样的代码在ASP中使用jQuery剃刀MVC

<a href="#" class="bt_on" title="ON">ON</a> 
<script type="text/javascript">switchOnOff()</script> 

而且我有一个名为 “ON-OFF-button.js”

$(function switchOnOff() { 
    $("a.bt_off").click(function() { 
    $(this).removeClass().addClass("bt_on"); 
    }); 
    $("a.bt_on").click(function() { 
     $(this).removeClass().addClass("bt_off"); 
    }); 
}); 

文件这个jQuery代码以及连接到有线这一切我在布局文件中把这个现在

<script src="@Url.Content("~/Scripts/on-off_button.js")" type="text/javascript"></script> 

当我打开我的网页,我恼火从Microsoft JScript中的一个例外,说个值e属性为空或未定义,而不是函数对象

我错过了什么?

谢谢。

+0

你确定功能switchOnOff()在您的代码中可见查看?你创建它并传递给jquery。我认为你的看法并不明显。另外我不明白为什么你自己调用它时,你已经将它添加到jQuery的document.ready。 – 2012-03-10 12:17:36

回答

0

由于某种原因,您的视图无法看到.js文件。

试试这个:

<script src="../../Scripts/on-off_button.js" type="text/javascript"></script> 
+0

不,这不是问题,除了我认为我不应该在我的代码中放置这样的静态Url。 – kbaccouche 2012-03-10 12:28:26

0

使用这种也许解决:

function switchOnOff() { 
$("a .bt_off").click(function() { 
    $(this).removeClass().addClass("bt_on"); 
}); 
$("a .bt_on").click(function() { 
    $(this).removeClass().addClass("bt_off"); 
}); 

} 或

function switchOnOff() { 
$('.bt_off').click(function() { 
    $(this).removeClass().addClass("bt_on"); 
}); 
$('bt_on').click(function() { 
    $(this).removeClass().addClass("bt_off"); 
}); 

}