我在发帖前搜索过,但没有一篇文章是相关的(说我是Jquery的新手)。
我的问题是,当我点击“添加好友”按钮时,只需单击一下即可触发,但需要双击。
这些是相关的代码部分:
设置div:
$fField = <div style="display:inline; border:#CCC 1px solid; padding:5px; background-color:#E4E4E4; color#999; font-size:11px;"> <a href="#" onclick="return false" onmousedown="javascript:friendArea(\'addFriend\');">Add Friend</a> </div>;
使用Javascript:
function friendArea(x){
//alert(x);
if($('#'+x).is(":hidden")){
$('#'+x).slideDown(200);
} else {
$('#'+x).hide();
}
$('.friendSlide').hide();
}
要显示的消息(需要2次点击才能显示的消息)
<div class="friendSlide" id="addFriend">Are you sure?</div>
任何帮助将不胜感激!哦,我正在使用最新版本的jQuery。
答案 0 :(得分:3)
HTML:
<div class="friendSlide" id="addFriend">Are you sure?</div>
JS:
function friendArea(x){
//alert(x);
if($('#'+x).is(":hidden")){
$('#'+x).slideDown(200);
} else {
$('#'+x).hide();
}
$('.friendSlide').hide();
}
你调用friendArea('addFriend')
,它应该滑动你的div,但是在你隐藏.friendSlide
的函数的末尾,你的div也是一个类。你基本上把它隐藏起来每个时间。这可能不是你想要的。
注释掉该行并且它有效:http://jsfiddle.net/Ggdhp/
当然,你可能有不同的理由,但我认为你得到了一些div和课程混合。
注意:强>
我还建议你不要使用内联css或javascript。它总是使调试变得更加困难,并且你错过了拼写错误,因为你最终不得不把所有东西都放在一行并转义引号。例如,div样式中的color#999;
缺少冒号。
答案 1 :(得分:1)
我不完全确定这是代码的相关部分,但是如果你想学习如何将函数绑定到click / doubleclick / etc:
http://api.jquery.com/category/events/mouse-events/
我假设你在某个地方有一个按钮/链接:
<a href="#" onclick="friendArea('friendName')">Add Friend</a>
你想要做的是给该按钮一个类,表明它是一个添加好友按钮,并使用jQuery向其添加双击功能。
<a href="#" class="addFriend-button" data-friendName="friendName">Add Friend</a>
$('.addFriend-button').click( function(e) {
friendArea( $(this).data('friendName') );
} );
这将导致您的功能在双击按钮时触发,而不是单击。它还允许您只需编写1个函数,并且可以使用link元素上的data- *属性传递相关数据。
答案 2 :(得分:1)
如果要在元素上双击运行任何代码,请使用像这样的jquery,
$('#target').dblclick(function() {
alert('Handler for .click() called.');
});
还有一件事使用jquery切换来显示和隐藏下面的元素,
在你的功能上
如果您正在使用选择器的类名,请使用下面的选择器(使用。)以便id使用#with id name,如上面的代码
$('.target').toggle();
如果双击有效,您可以使用下面的代码,它会将单击转换为双击jquery。希望这会对你有所帮助
$('#target')。click(function(){
$( '#目标')DBLCLICK();
});