如何给li加上 hover 或者 click 等事件 代码如图 10
(function($){$.fn.Autocomplete=function(options){defaults={url:'',width:'150',height:...
(function($){
$.fn.Autocomplete = function(options){
defaults = {
url:'',
width:'150',
height:'100',
cache:false,
keyword:'keyword'
};
var opt = $.extend({}, defaults, options);
return this.each(function(){
var Div = "<div class='Autocomplete' id='Autocomplete'><ul></ul></div>";
$("body").append(Div);
var $Div = $("#Autocomplete");
if ($(".Autocomplete").length >= 1) { $Div.siblings(".Autocomplete").remove(); }
var _this = $(this);
_this.keyup(function(){
var X = _this.offset().top ,
Y = _this.offset().left ,
H = _this.outerHeight() ,
W = _this.outerWidth();
var css = {
position:'absolute',
display:'block',
left :Y,
top :X+H,
width :opt.width,
height :opt.height
};
if($.trim(_this.val())=="") {$Div.hide(); return;}
$.ajax({
url: opt.url,
data: {keyword:_this.val()},
type: "POST",
dataType: "json",
cache: opt.cache,
success: function(JsonData) {
if (JsonData.length==0) return ;
var addLi = "";
for(var i = 0;i < JsonData.length;i++){
addLi += "<li valueid='"+JsonData[i].id+"' valuename='"+JsonData[i].name+"' onclick='val(this)'><p>"+JsonData[i].name+"</p><span>"+JsonData[i].id+"</span></li>";
}
$Div.show().css(css).children("ul").empty().append(addLi);
},
error: function(JsonData) {
alert("请求失败!");
}
});
A_mouseover = function(a){
$(a).addClass("hover");
}
A_mouseout = function(b){
$(b).removeClass("hover");
}
val = function(a){
var valueid = $(a).attr("valueid") , valuename = $(a).attr("valuename");
_this.val(valuename);
_this.attr({"searchid":valueid,"valuename":valuename});
$Div.hide();
}
})
})
}
})(jQuery);
多次调用的时候会添加多个div 除了判断长度 还有什么办法只添加一个div 展开
$.fn.Autocomplete = function(options){
defaults = {
url:'',
width:'150',
height:'100',
cache:false,
keyword:'keyword'
};
var opt = $.extend({}, defaults, options);
return this.each(function(){
var Div = "<div class='Autocomplete' id='Autocomplete'><ul></ul></div>";
$("body").append(Div);
var $Div = $("#Autocomplete");
if ($(".Autocomplete").length >= 1) { $Div.siblings(".Autocomplete").remove(); }
var _this = $(this);
_this.keyup(function(){
var X = _this.offset().top ,
Y = _this.offset().left ,
H = _this.outerHeight() ,
W = _this.outerWidth();
var css = {
position:'absolute',
display:'block',
left :Y,
top :X+H,
width :opt.width,
height :opt.height
};
if($.trim(_this.val())=="") {$Div.hide(); return;}
$.ajax({
url: opt.url,
data: {keyword:_this.val()},
type: "POST",
dataType: "json",
cache: opt.cache,
success: function(JsonData) {
if (JsonData.length==0) return ;
var addLi = "";
for(var i = 0;i < JsonData.length;i++){
addLi += "<li valueid='"+JsonData[i].id+"' valuename='"+JsonData[i].name+"' onclick='val(this)'><p>"+JsonData[i].name+"</p><span>"+JsonData[i].id+"</span></li>";
}
$Div.show().css(css).children("ul").empty().append(addLi);
},
error: function(JsonData) {
alert("请求失败!");
}
});
A_mouseover = function(a){
$(a).addClass("hover");
}
A_mouseout = function(b){
$(b).removeClass("hover");
}
val = function(a){
var valueid = $(a).attr("valueid") , valuename = $(a).attr("valuename");
_this.val(valuename);
_this.attr({"searchid":valueid,"valuename":valuename});
$Div.hide();
}
})
})
}
})(jQuery);
多次调用的时候会添加多个div 除了判断长度 还有什么办法只添加一个div 展开
1个回答
2015-04-18 · 知道合伙人互联网行家
关注
展开全部
id为menu中的ul的li。也就是导航栏里的每一个元素。
鼠标放上去后会出来的效果。
在后面又加了ul说明弹出的是一个ul元素
整个这里面的css就是规定这个ul元素里的样式。
说白了就是鼠标划过导航栏的效果
鼠标放上去后会出来的效果。
在后面又加了ul说明弹出的是一个ul元素
整个这里面的css就是规定这个ul元素里的样式。
说白了就是鼠标划过导航栏的效果
追问
我说的是js 效果并不是说 css样式问题
在动态添加div后他 执行了ajax 添加了 标签 我的意思是如何给这个 标签添加上一些 click onmouseover等js 事件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询