Generic Anchor链接单击事件捕获并检索id和调用方法

时间:2014-01-06 04:46:36

标签: javascript jquery

我的观点中有一些锚链接。单击锚链接中的图像后,将调用RegisterToolTip,调用服务器以接收工具提示。我注意到,当我第一次点击链接时,它会点击服务器,第二次点击它时它不会点击服务器。

我在document.ready函数中注册了以下两个链接。我想在每次点击链接时点击服务器以获得最准确的信息。第一次它命中服务器,然后它添加工具提示但不会再次刷新

RegisterToolTip(toolTipUrl, 'qTipTags', 'qTipTags');
RegisterToolTip(toolTipUrl, 'qTipImportFiles', 'qTipImportFiles');

HTML:

<a id="qTipTags" href='' ">
    <img src="../../Content/images/icon_tooltip.gif" alt="B" />
</a>

JS:

function RegisterToolTip(action, ctrlId, dispInfoId) {
    $("#" + ctrlId).attr("rel", action).cluetip({
        closePosition: "top",
        activation: 'click',
        width: 350,
        sticky: true,
        debug: true,
        showTitle: true,
        dropShadow: true,
        cache: false,
        cluetipClass: 'default',
        closeText: '<div class="ui-state-error-icon ui-icon-closethick" id="close" title="Close"/>',
        mouseOutClose: true,
        ajaxSettings: {
            type: "post",
            dataType: "json",
            data: {
                "id": dispInfoId
            }
        },
        ajaxProcess: function (dataOut) {
            $("#" + ctrlId).data("title", dataOut["Field"]);
            return dataOut["Description"];
        },
        onShow: function (ct, c) {
            var t = $("#" + ctrlId).data("title");
            $("#cluetip-title").text(t);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

使用这样的通用处理程序:

function clickHandlerForAnchors(e){
   var id = $(this).attr("id");  //This gets the id of the clicked anchor
   ...
   RegisterToolTip(action, id, dispInfoId);   
}

然后用以下内容绑定它:

$("a").click(clickHandlerForAnchors);  //The selector is up to you here

(我知道处理程序不必作为单独的函数创建,但我只是在你需要重用它时才这样做。)

干杯