jQuery 函数 - 单击两次返回一个值
jQuery Function - return a value with two clicks
我想在JavaScript函数中携带一个值,但使用jQuery来检测点击或悬停状态。
function foo(bar){
var choc=bar;
}
当我单击foo()
时,我希望它检测到第一次单击和第二次单击,以便我可以进行图像交换。
例:
function foo(bar) {
var choc=id;
$(id).click(function () {
alert('first click');
}, function () {
alert('second click');
});
}
我只能返回第一次点击。这就是我要做的:
一个行不通的例子
<a href="javascript:open(5);" class="open">open <img id="5" class="swap5" src="down.png" /></a>
<div id="box5">press the up button to close me</div>
jQuery
$(document).ready(function() {
$(".open").click(function(event){
var id = event.target.id;
$('#box' + id).slideToggle();
$(".swap"+id).attr("src", "up.png");
}, function () {
var id = event.target.id;
$('#box' + id).slideToggle();
$(".swap"+id).attr("src", "down.png");
});
});
使用 .toggle
而不是 .click
。
$(document).ready(function() {
$(".open").toggle(function(event){
event.preventDefault();
var id = event.target.id;
$('#box' + id).slideToggle();
$(".swap"+id).attr("src", "up.png");
}, function (event) {
event.preventDefault();
var id = event.target.id;
$('#box' + id).slideToggle();
$(".swap"+id).attr("src", "down.png");
});
});
同时丢失<a>
标记中的href="javascript:open(5);"
。 请改用href="#"
。
这是一个非常笨拙的解决方案,但这是我的看法。声明一个初始化为 0 的计数器变量。单击递增它并检查它是否为 2 以执行您的操作。
var counter = 0;
function foo(bar) {
var choc=id;
$(id).click(function () {
if(counter == 2) {
//Perform action
counter = 0; //reset counter
} else {
counter++; //Increment counter
}
});
}
您是否尝试使用双击事件处理程序?通过转到以下位置查看说明:http://api.jquery.com/dblclick/它有很好的文档记录,所以你应该发现它可以直接实现
相关文章:
- 节点导出返回一个空对象
- Angular js-返回一个包含类似
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- Javascript:在激发函数后返回一个变量以供使用
- Protractor:element.getText()返回一个对象,而不是String
- JSTree's data.rslt.obj.text()返回一个文本数组,而不是所需节点的文本
- 我应该返回一个类似console.log()的方法调用吗
- 从 javascript 中的对象方法返回一个对象
- new SharedWorker(“whatever.js”)返回一个错误
- 从js中的对象返回一个值
- 乘法返回一个奇怪的结果
- 返回一个关联数组,而不是mongoose中的文档数组
- 为什么我的$http.post返回一个400错误
- 返回一个新函数,而不是工厂中的对象
- 从javascript函数返回一个对象
- 从 angularjs 中的嵌套成功函数返回一个值
- 将字符串转换为数组使用javascript更新一个值并返回一个字符串
- jQuery's$.post只返回一个空白数据