Jquery 如何为每个链接自定义鼠标事件(如何编写通用fn)
我在一个页面中有几个链接,我需要为这些链接运行以下jquery代码。例如,下面的代码是为一个链接(id=ewom)编写的,在这段代码中,我使用参数“ewom”调用js fn(称为DisplayAlert)。我可以复制此函数并相应地替换ewom关键字。然而,我更喜欢编写一个通用代码,它可以为不同的链接正常工作。我该怎么做Jquery 如何为每个链接自定义鼠标事件(如何编写通用fn),jquery,Jquery,我在一个页面中有几个链接,我需要为这些链接运行以下jquery代码。例如,下面的代码是为一个链接(id=ewom)编写的,在这段代码中,我使用参数“ewom”调用js fn(称为DisplayAlert)。我可以复制此函数并相应地替换ewom关键字。然而,我更喜欢编写一个通用代码,它可以为不同的链接正常工作。我该怎么做 $(document).ready(function () { //$('#submit').click(function () { //document.get
$(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});
});
});
如果用户单击不同链接时需要启动该功能,则需要以某种方式选择这些链接并将其绑定到单击事件。如果该函数只应在用户单击特定链接时运行,那么添加到每个链接的公共类可能就是一个赌注