这是主文件:
<li id="notification0">
<a href="#" onclick="/MyPage/MyPageView"></a>
</li>
<li id="notification1">
<a href="#" onclick="/MyPage/MyPageView"></a>
</li>
<li id="notification2">
<a href="#" onclick="/MyPage/MyPageView"></a>
</li>
然后,使用javascript和jquery,我将链接添加到文本和类中。 我想在MyPageController中使用该类作为参数调用MyPageView函数。我应该在onclick中更改以将类添加为参数?但我稍后会在代码中添加该类。
我想这样做:
onclick="/MyPage/MyPageView/classForTheCorrectNotificationTag"
这是我添加课程的方式:
$('#notification0').addClass('test');
$('#notification1').addClass('water');
$('#notification2').addClass('driver');
答案 0 :(得分:1)
由于您将基本控制器路径作为公共值,因此您可以将其作为全局变量:
var controllerPath = "/MyPage/MyPageView/";
然后,您可以在添加类的同时添加click事件:
$('#notification0').addClass('test').click(function(e) {
window.location.href = controllerPath + 'test';
});
根据您的课程需要添加的方式,这可能会更加动态,例如:
function SetClickable(id, path) {
$('#' + id).addClass(path).click(function(e) {
window.location.href = controllerPath + path;
});
}
如果主控制器路径不是常量,您可能希望尝试使用数据属性来包含它:
<li id="notification0" data-controller="/MyPage/MyPageView/">
<a href="#"></a>
</li>
function SetClickable(id, path) {
$('#' + id).addClass(path).click(function(e) {
var controller = $(this).data("controller");
window.location.href = controller + action;
});
}