在html属性中指定javascript方法?

时间:2012-04-13 08:14:24

标签: javascript jquery html callback

在网站上,我使用的是jquery工具。

在很多地方,我都要采取同样的行动:

当我点击链接时,我会显示一个弹出窗口:

这很容易通过

完成
$(".overlayTrigger[rel]").overlay({
    mask: {
        color: '#111',
        loadSpeed: 300,
        opacity: 0.9
    },

        closeOnClick: true
    }
);

但问题是,我想在每种情况下调用一个javascript方法,为我的弹出窗口加载一些数据。

我知道我可以设置触发器的参数:

onLoad: function() {
   //Call the method specified in data-load-method attribute
},

我的目标是在onLoad: function(){}中调用我的自定义方法,并且必须通过类似属性的方式在<a href>上指定方法:

<a href="#" class="overlayTrigger" rel="#MyPopupDiv" data-load-method="LoadPopupXYZData">Click here for the popup</a>

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:3)

如果我理解正确,你想做这样的事情:

onLoad: function() {
   var method = $(this).data('load-method');
   window[method]();
},

如果没有,请澄清。

答案 1 :(得分:1)

<a href="#" class="overlayTrigger" rel="#MyPopupDiv" onclick="LoadPopupXYZData()">Click here for the popup</a>

答案 2 :(得分:0)

使用像这样的点击或悬停方法

$(".overlayTrigger[rel]").click(function(){
//inside this method u can access the element using
//$(this) and execute the overlay showing
//also u can accesss the element and its attributes using $(this)
});