Jquery 如何为每个链接自定义鼠标事件(如何编写通用fn)

Jquery 如何为每个链接自定义鼠标事件(如何编写通用fn),jquery,Jquery,我在一个页面中有几个链接,我需要为这些链接运行以下jquery代码。例如,下面的代码是为一个链接(id=ewom)编写的,在这段代码中,我使用参数“ewom”调用js fn(称为DisplayAlert)。我可以复制此函数并相应地替换ewom关键字。然而,我更喜欢编写一个通用代码,它可以为不同的链接正常工作。我该怎么做 $(document).ready(function () { //$('#submit').click(function () { //document.get

我在一个页面中有几个链接,我需要为这些链接运行以下jquery代码。例如,下面的代码是为一个链接(id=ewom)编写的,在这段代码中,我使用参数“ewom”调用js fn(称为DisplayAlert)。我可以复制此函数并相应地替换ewom关键字。然而,我更喜欢编写一个通用代码,它可以为不同的链接正常工作。我该怎么做

$(document).ready(function () {
    //$('#submit').click(function () {
    //document.getElementById("term").innerHTML = "erkan";
    //});
    var permanotice, tooltip, _alert;
    $('#ewom').live('mouseover mouseout', function (event) {
        if (event.type == 'mouseover') {

            DisplayAlert('ewom');

            $(function () {
                //$.pnotify.defaults.styling = "bootstrap3";            
                // This notice is used as a tooltip.
                var make_tooltip = function () {
                    tooltip = $.pnotify({
                        title: $("#term").text(),
                        text: $("#definition").text(),
                        hide: false,
                        closer: false,
                        sticker: false,
                        history: false,
                        animate_speed: 100,
                        opacity: 1,
                        icon: "ui-icon ui-icon-comment",
                        // Setting stack to false causes PNotify to ignore this notice when positioning.
                        stack: false,
                        after_init: function (pnotify) {
                            // Remove the notice if the user mouses over it.

                            pnotify.mouseout(function () {
                                pnotify.pnotify_remove();
                            });
                        },
                        before_open: function (pnotify) {
                            // This prevents the notice from displaying when it's created.
                            pnotify.pnotify({
                                before_open: null
                            });

                            return false;
                        }
                    });
                }
                // I put it in a function so I could show the source easily.
                make_tooltip();
            });

            tooltip.pnotify_display();
        } else {
            // do something on mouseout
            tooltip.pnotify_remove();
        }
    });

    $('#ewom').mousemove(function (event) {
        tooltip.css({
            'top': event.clientY + 12,
            'left': event.clientX + 12
        });
    });
});

</script>
$(文档).ready(函数(){
//$(“#提交”)。单击(函数(){
//document.getElementById(“术语”).innerHTML=“erkan”;
//});
变量永久性,工具提示,警告;
$('#ewom').live('mouseover mouseout',函数(事件){
如果(event.type=='mouseover'){
显示警报(“ewom”);
$(函数(){
//$.pnotify.defaults.style=“bootstrap3”;
//此通知用作工具提示。
var make_tooltip=函数(){
工具提示=$.pnotify({
标题:$(“#术语”).text(),
text:$(“#定义”).text(),
隐藏:错,
闭嘴:错,
贴纸:假的,
历史:错,
动画速度:100,
不透明度:1,
图标:“用户界面图标用户界面图标注释”,
//将stack设置为false会导致PNotify在定位时忽略此通知。
堆栈:false,
在初始化之后:函数(pnotify){
//如果用户将鼠标移到通知上,请删除该通知。
pnotify.mouseout(函数(){
pnotify.pnotify_remove();
});
},
打开前:功能(pnotify){
//这样可以防止在创建通知时显示该通知。
pnotify.pnotify({
打开前:空
});
返回false;
}
});
}
//我把它放在一个函数中,这样我可以很容易地显示源代码。
制作工具提示();
});
工具提示.pnotify_display();
}否则{
//用鼠标做点什么
工具提示:pnotify_remove();
}
});
$('#ewom').mousemove(函数(事件){
tooltip.css({
“顶部”:event.clientY+12,
“左”:event.clientX+12
});
});
});

以下是@Dpeif贡献的解决方案

示例链接:

 <a href="#" name="ewom" id="ewom" class="triger">EWOM</a>

和通用代码:

<script type="text/javascript">

            $(document).ready(function () {     

                var permanotice, tooltip, _alert;
                $('.triger').live('mouseover mouseout', function(event) {
                    if (event.type == 'mouseover') {                    

                        DisplayAlert(event.target.id);

                        $(function(){                   
                            //$.pnotify.defaults.styling = "bootstrap3";            
                            // This notice is used as a tooltip.
                            var make_tooltip = function(){
                                tooltip = $.pnotify({
                                    title: $("#term").text(),
                                    text: $("#definition").text(),
                                    hide: false,
                                    closer: false,
                                    sticker: false,
                                    history: false,
                                    animate_speed: 100,
                                    opacity: 1,
                                    width:"460px",
                                    icon: "ui-icon ui-icon-comment",
                                    // Setting stack to false causes PNotify to ignore this notice when positioning.
                                    stack: false,
                                    after_init: function(pnotify){
                                        // Remove the notice if the user mouses over it.

                                        pnotify.mouseout(function(){
                                            pnotify.pnotify_remove();
                                        });
                                    },
                                    before_open: function(pnotify){
                                        // This prevents the notice from displaying when it's created.
                                        pnotify.pnotify({
                                            before_open: null
                                        });

                                        return false;
                                    }
                                });
                            }
                            // I put it in a function so I could show the source easily.
                            make_tooltip();         
                        }); 

                        tooltip.pnotify_display();
                    }
                    else {
                        // do something on mouseout
                        tooltip.pnotify_remove();
                    }
                });

                $('.triger').mousemove(function( event ){
                    tooltip.css({'top': event.clientY+12, 'left': event.clientX+12});
                });         
            });         

        </script>

$(文档).ready(函数(){
变量永久性,工具提示,警告;
$('.triger').live('mouseover mouseout',函数(事件){
如果(event.type=='mouseover'){
DisplayAlert(event.target.id);
$(函数(){
//$.pnotify.defaults.style=“bootstrap3”;
//此通知用作工具提示。
var make_tooltip=函数(){
工具提示=$.pnotify({
标题:$(“#术语”).text(),
text:$(“#定义”).text(),
隐藏:错,
闭嘴:错,
贴纸:假的,
历史:错,
动画速度:100,
不透明度:1,
宽度:“460px”,
图标:“用户界面图标用户界面图标注释”,
//将stack设置为false会导致PNotify在定位时忽略此通知。
堆栈:false,
在初始化之后:函数(pnotify){
//如果用户将鼠标移到通知上,请删除该通知。
pnotify.mouseout(函数(){
pnotify.pnotify_remove();
});
},
打开前:功能(pnotify){
//这样可以防止在创建通知时显示该通知。
pnotify.pnotify({
打开前:空
});
返回false;
}
});
}
//我把它放在一个函数中,这样我可以很容易地显示源代码。
制作工具提示();
}); 
工具提示.pnotify_display();
}
否则{
//用鼠标做点什么
工具提示:pnotify_remove();
}
});
$('.triger').mousemove(函数(事件){
css({'top':event.clientY+12,'left':event.clientX+12});
});         
});         

如果用户单击不同链接时需要启动该功能,则需要以某种方式选择这些链接并将其绑定到单击事件。如果该函数只应在用户单击特定链接时运行,那么添加到每个链接的公共类可能就是一个赌注