Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在单击时执行而不是在输入时执行_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery在单击时执行而不是在输入时执行

Javascript jQuery在单击时执行而不是在输入时执行,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个onclick事件,用户被重定向到一个新站点 不幸的是,当我点击classside中的输入时,它触发了事件,而我在输入字段中点击/键入时,却在寻找它不执行事件 Q:如何使jQuery代码在单击输入字段时不触发? <div id="<?echo $ar['url'];?>" class="mobile-no-margin upgradeable full-mobile col-sm-12" style=" background-size: 100% 100%; ba

我正在做一个
onclick
事件,用户被重定向到一个新站点

不幸的是,当我点击class
side
中的输入时,它触发了事件,而我在输入字段中点击/键入时,却在寻找它不执行事件

Q:如何使jQuery代码在单击输入字段时不触发?

<div id="<?echo $ar['url'];?>" class="mobile-no-margin upgradeable  full-mobile col-sm-12" style=" background-size: 100% 100%; background-image: url(test">
   <div class="side">
       <input type="input" name="<? echo $ar['input'];?>" class="col-sm-12">
   </div>
</div>

使用

$(".upgradeable").on('click',function(e) {
var target = $( e.target );
  if ( !target.is( ".side" ) ) {
        id = $(this).attr('id');
        url(id);
    }
});

你想让它做什么?何时触发该事件?@dane,我只希望在单击.upgradeable div(或任何子元素)时触发该事件,我只是不希望在单击输入字段时触发该事件。请检查是否使用该div是click或其他元素…单击输入会冒泡到外部div。取消冒泡
$(div.side输入)。on('click',function(e){e.stopPropagation()})
如果(!target.is(“.side input”){但是谢谢!等待它允许我。
$('.yourelement).click(function(event){
event.preventDefault(); // Stop the click 
});
$(".upgradeable").on('click',function(e) {
var target = $( e.target );
  if ( !target.is( ".side" ) ) {
        id = $(this).attr('id');
        url(id);
    }
});