如何仅在鼠标悬停时触发 AJAX 请求
How to trigger AJAX requst only onmouseover
我有以下脚本,显示搜索页面onmouseover
的值。
<script type="text/javascript">
function preview(val) {
$.ajax({
type: "POST",
url: "search.php",
data:'id='+val,
success: function(data){
$(".ress").html(data);
}
});
}
</script>
.html:
<div class="CVSearchResult" onmouseover="preview('1')">
搜索:
<?php echo $_POST['id']; ?>
类 .ress 的输出:
1
但是我也想隐藏输出onmouseout
。我该怎么做?我的意思是只需触发 AJAX 鼠标悬停,如果不悬停则隐藏。
<div class="CVSearchResult" onmouseover="preview('1')" onmouseout="hide()">
<script>
function hide() {
$(".ress").html('');
}
</script>
当用户将鼠标移离元素以触发隐藏功能时,您将添加事件处理程序。
hude 函数获取结果 dom 元素(可以包含以前调用的选定结果(并将 html 设置为空字符串。
这样,当您用鼠标离开时,div 元素将被清除。
好吧,
我做了一个小提琴来展示你如何做到这一点。
摆弄它
.HTML
<div class="CVSearchResult" data-mydata="1">
HOVER ON ME1
</div>
<div class="ress">
This was hidden but is now visible.1
</div>
.JS
$(document).ready(function() {
$(".CVSearchResult").on("mouseover", function() {
preview($(this).attr("data-mydata"));
});
$(".CVSearchResult").on("mouseout", function() {
$(".ress").css("display", "none");
})
})
function preview(val) {
$(".ress").css("border", "2px solid black");
/* Add your own ajax call here to get the data that you want... */
var data = val;
$(".ress").html(data);
$("div.ress").css("display", "block");
/* --- */
}
.CSS
.ress {
display: none;
border: 1px solid black;
font-family: Helvetica;
position: absolute;
left: 200px;
top: 10px;
padding: 5px;
}
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- "日期“;AJAX请求返回的类型值未定义
- 在等待ajax请求时显示微调器并禁用页面
- 跨域ajax请求
- Ajax请求返回空的数据字符串,但首先得到了正确的数据
- Javascript-如何让脚本与Ajax请求的数据一起运行
- ajax请求成功,但可以'我看不到我的数据
- 如何将给定的curl命令复制为jquery ajax请求
- 为什么我能够从javascript控制台发送跨域ajax请求
- 一台特定计算机的Ajax请求数据未定义/失败
- 获取ajax请求的请求头
- 原型Ajax请求参数为嵌套json
- 可以't从AJAX请求中筛选数据
- jQuery Mobile Collapse上的AJAX请求
- 暂停函数执行流程,直到ajax请求完成