Javascript jQuery dblclick()问题?

Javascript jQuery dblclick()问题?,javascript,jquery,Javascript,Jquery,我有两个输入字段 a) 电子邮件和 b) 私人电子邮件 我想在用户双击电子邮件字段时显示警报消息1,在用户双击私人电子邮件字段时显示警报消息2。因此,我使用以下jQuery代码,但它在警报消息中仅显示1: jQuery代码: $(document).ready(function(){ $("input#email, input#email_private").dblclick(function(){ var email = $("input#email").val();

我有两个输入字段

a) 电子邮件和
b) 私人电子邮件

我想在用户双击电子邮件字段时显示警报消息1,在用户双击私人电子邮件字段时显示警报消息2。因此,我使用以下jQuery代码,但它在警报消息中仅显示1:

jQuery代码:

$(document).ready(function(){
  $("input#email, input#email_private").dblclick(function(){  
    var email = $("input#email").val();
    var private_email = $("input#email_private").val();
    var cdid =  $("#cdid_hidden").val();    
    var cid=$('#cdid_hidden').val();

    if(email) {
        alert(1);
        window.open('mailto:<?php echo $res['email']; ?>?subject=', '_self');   
    } else {
        window.open('mailto:<?php echo $res['email_private']; ?>?subject=', '_self');   
        alert(2);

    }       

    var url = "response.php?confirmEmail=confirm&cdid="+cdid;   
    $.get(url); 
    getDetails(cid);    

  });
});
$(文档).ready(函数(){
$(“input#email,input#email_private”).dblclick(function(){
var email=$(“输入电子邮件”).val();
var private_email=$(“输入#email_private”).val();
var cdid=$(“#cdid_hidden”).val();
var cid=$('#cdid_hidden').val();
如果(电子邮件){
警报(1);
open('mailto:?subject=','u self');
}否则{
open('mailto:?subject=','u self');
警报(2);
}       
var url=“response.php?confirmEmail=confirm&cdid=“+cdid;
$.get(url);
获取详细信息(cid);
});
});

IMHO拥有两个dblclick处理程序会更容易。也就是说,在您的代码中,即使您正在侦听两个输入的dblclick事件,您也只是检查电子邮件输入是否为空

if(email) {
    alert(1);
    window.open('mailto:<?php echo $res['email']; ?>?subject=', '_self');   
} else {
    window.open('mailto:<?php echo $res['email_private']; ?>?subject=', '_self');   
    alert(2);

}   
if(电子邮件){
警报(1);
open('mailto:?subject=','u self');
}否则{
open('mailto:?subject=','u self');
警报(2);
}   
如果不想有单独的事件处理程序,可以尝试检查id,例如

$(document).ready(function(){
  $("input#email, input#email_private").dblclick(function(){  
    var email = $("input#email").val();
    var private_email = $("input#email_private").val();
    var cdid =  $("#cdid_hidden").val();    
    var cid=$('#cdid_hidden').val();
    var clicked = $(this).attr('id');
    if(clicked == 'email') {
        alert(1);
        window.open('mailto:<?php echo $res['email']; ?>?subject=', '_self');   
    } else {
        window.open('mailto:<?php echo $res['email_private']; ?>?subject=', '_self');   
        alert(2);

    }       

    var url = "response.php?confirmEmail=confirm&cdid="+cdid;   
    $.get(url); 
    getDetails(cid);    

  });
});
$(文档).ready(函数(){
$(“input#email,input#email_private”).dblclick(function(){
var email=$(“输入电子邮件”).val();
var private_email=$(“输入#email_private”).val();
var cdid=$(“#cdid_hidden”).val();
var cid=$('#cdid_hidden').val();
var clicked=$(this.attr('id');
如果(单击==“电子邮件”){
警报(1);
open('mailto:?subject=','u self');
}否则{
open('mailto:?subject=','u self');
警报(2);
}       
var url=“response.php?confirmEmail=confirm&cdid=“+cdid;
$.get(url);
获取详细信息(cid);
});
});

我猜您希望根据相关输入双击显示警报1和警报2。。我已经修改了你的代码来实现这一点

Jquery:

  $(document).ready(function(){
  $("input#email, input#email_private").dblclick(function(){  

  var private_email = $("input#email_private").val();
  var cdid =  $("#cdid_hidden").val();    
  var cid=$('#cdid_hidden').val();

    if($(this).attr('id') == 'email') {
    alert(1);
    window.open('mailto:<?php echo $res['email']; ?>?subject=', '_self');   
    } else {
    window.open('mailto:<?php echo $res['email_private']; ?>?subject=',   '_self');   
    alert(2);
    }       

 var url = "response.php?confirmEmail=confirm&cdid="+cdid;   
 $.get(url); 
 getDetails(cid);    
 });
 });
$(文档).ready(函数(){
$(“input#email,input#email_private”).dblclick(function(){
var private_email=$(“输入#email_private”).val();
var cdid=$(“#cdid_hidden”).val();
var cid=$('#cdid_hidden').val();
if($(this).attr('id')=='email'){
警报(1);
open('mailto:?subject=','u self');
}否则{
open('mailto:?subject=','u self');
警报(2);
}       
var url=“response.php?confirmEmail=confirm&cdid=“+cdid;
$.get(url);
获取详细信息(cid);
});
});

只需检查单击的元素是一个还是另一个,并相应地执行

$(document).ready(function(){
  $("input#email, input#email_private").dblclick(function(){  
    var email = $("input#email");
    var emailVal = email.val();
    var private_email = $("input#email_private").val();
    var cdid =  $("#cdid_hidden").val();    
    var cid=$('#cdid_hidden').val();

    if($(this).is(email)) {
        alert(1);
        window.open('mailto:<?php echo $res['emailVal']; ?>?subject=', '_self');   
    } else {
        window.open('mailto:<?php echo $res['email_private']; ?>?subject=', '_self');   
        alert(2);

    }       

    var url = "response.php?confirmEmail=confirm&cdid="+cdid;   
    $.get(url); 
    getDetails(cid);    

  });
});
$(文档).ready(函数(){
$(“input#email,input#email_private”).dblclick(function(){
var电子邮件=$(“输入电子邮件”);
var emailVal=email.val();
var private_email=$(“输入#email_private”).val();
var cdid=$(“#cdid_hidden”).val();
var cid=$('#cdid_hidden').val();
如果($(此).is(电子邮件)){
警报(1);
open('mailto:?subject=','u self');
}否则{
open('mailto:?subject=','u self');
警报(2);
}       
var url=“response.php?confirmEmail=confirm&cdid=“+cdid;
$.get(url);
获取详细信息(cid);
});
});

您可以通过获取元素的ID来检查触发事件的元素。然后在
if
语句中,您可以检查元素ID并返回适当的操作。下面是如何实现这一点的一个片段

HTML代码

<div>
    <input type="text" placeholder="Email here" id="email" />
</div>
<div>
    <input type="text" placeholder="Email Private here" id="email_private" />
 </div>
$(document).ready(function () {
$('input#email, input#email_private').dblclick(function (event) {
    alert("Double clicked");

    if (event.target.id === 'email') {
        alert("Email double clicked");
        // Email textbox triggered the event
        // Do something
    }
    else if (event.target.id == 'email_private') {
        alert("Email Private double clicked");
        // Email private triggeredd this event, do something here
    }
   });
 });

这里有一个

可能在
窗口中存在错误。打开('mailto:?subject=','u self')