Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 fancybox输入在<;a>;_Javascript_Jquery_Fancybox - Fatal编程技术网

Javascript fancybox输入在<;a>;

Javascript fancybox输入在<;a>;,javascript,jquery,fancybox,Javascript,Jquery,Fancybox,此示例显示了我正在尝试执行的操作: 我希望它能够工作,这样当您单击输入删除文件时,它就可以在不加载fancybox的情况下工作 单击输入时,如何停止fancybox加载?这也会阻止表单提交,因为fancybox已加载? HTML: 要防止单击“删除”按钮激活fancybox,请使用以下方法: $('input[name="delete_file"]').click(function(e){ e.stopPropagation() }); stopPropagation将防止该事件从DOM冒

此示例显示了我正在尝试执行的操作:

我希望它能够工作,这样当您单击输入删除文件时,它就可以在不加载fancybox的情况下工作

单击输入时,如何停止fancybox加载?这也会阻止表单提交,因为fancybox已加载?

HTML:


要防止单击“删除”按钮激活fancybox,请使用以下方法:

$('input[name="delete_file"]').click(function(e){
  e.stopPropagation()
});

stopPropagation
将防止该事件从DOM冒泡到Fancybox元素
preventDefault
只会阻止单击按钮的默认操作。

将按钮的
onClick
-属性替换为
class
-属性,并在js中添加此
click
-处理程序:

HTML:


另请参见。

我建议将
input
移到
a
之外,这样在单击按钮时不会触发fancybox(可能会为每个图像创建一个包装div)。您可以使用CSS正确放置按钮。请看,我不想添加额外的标记,如果删除按钮位于
a
内,则更容易将其绝对定位在图像顶部。是否无法执行类似操作:
。fancybox:不(输入)
$('.fancybox').fancybox();

/*$('.fancybox').click(function(e) {
    e.preventDefault();
    $(this).fancybox();
});*/
$('input[name="delete_file"]').click(function(e){
  e.stopPropagation()
});
<input class="delete" type="button" value="Delete" name="delete_file" />
$('.delete').click(function() {
    if (confirm('Are you sure you want to delete this file?')) {
        // TODO: delete file
        alert('deleted');
    }    
    return false;
});