标签: click

jQuery + stopPropagation:从父选择器中排除子元素

基于接受的答案的最终工作代码

        $('#photo-upload, #photo-upload .close').click(function(){
            $('#photo-upload').removeClass('show');
        });

        $('#upload-button').click(function(){
            $('#photo-upload').addClass('show');
        });

        $('#form-window').click(function(e){
              e.stopPropagation();
        });
Run Code Online (Sandbox Code Playgroud)

原始问题

我有一个带关闭按钮的模式窗口。该窗口由链接触发a#upload-button#photo-upload是一个 100% 高度 + 宽度的固定 div。#form-window是一个 200 像素 x 200 像素的框,在其内部水平和垂直居中#photo-upload

<div id="photo-upload">
    <div id="form-window">
        <!-- Content -->
        <a class="close"></a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

关闭按钮的位置绝对位于右上角。我想设置一个点击功能,以便在模态窗口外点击关闭窗口,并且点击关闭按钮关闭窗口。但是这样点击窗口本身不会关闭窗口。

我目前的代码是:

$('#photo-upload').click(function(e){
    if(!$(e.target).is('#form-window')){
      return false;
    } else {
        $(this).removeClass('show');
    }
});

$('#form-window').live("click",function(e){
    if(!$(e.target).is('a.close')){
      e.stopPropagation();
    }
});


$('#upload-button').live("click", function(){
    $('#photo-upload').addClass('show');
});

$('#photo-upload .close').live("click", function(){
    $('#photo-upload').removeClass('show');
});
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,当我单击这些元素中的任何一个时没有任何反应,并且无法关闭 div。我究竟做错了什么?

如何在父元素上使用 stopPropagation() 但排除子元素(在我的情况下,a.close)。

jquery click parent-child

1
推荐指数
1
解决办法
6367
查看次数

使用 Jquery 在画布中单击两次鼠标绘制一条线

我已经看过这个问题

在 HTML5 画布上单击两次鼠标画一条线?

我想要实现的实际上是相同的,但是使用 Jquery。

我目前已经尝试过这个,但我想我不能使用两个嵌套的点击事件。

 $(function() {

 var worksheetCanvas = $('#worksheet-canvas');

 var context = worksheetCanvas.get(0).getContext("2d");


context.strokeStyle = "rgb(251, 243, 243)";


 worksheetCanvas.click(function(e) {

    context.beginPath();


    var xCoordFirst = e.pageX;
    var yCoordFirst = e.pageY;

    context.moveTo(xCoordFirst, yCoordFirst);


    worksheetCanvas.click(function(f) {

        var xCoordSecond = f.pageX;
        var yCoordSecond = f.pageY;

        context.lineTo(xCoordSecond , yCoordSecond );
        context.closePath();
        context.stroke();

     })

  })


 })?
Run Code Online (Sandbox Code Playgroud)

此外,当我在 中放入一些静态值时lineTo(),我得到了this,它可以识别第二个点的坐标,从而绘制线条,即使如果用户没有自己设置第二个点,它也是无用的。

 $(function() {

 var worksheetCanvas = $('#worksheet-canvas');

 var context = worksheetCanvas.get(0).getContext("2d");


context.strokeStyle = "rgb(251, 243, 243)";


worksheetCanvas.click(function(e) {

    context.beginPath(); …
Run Code Online (Sandbox Code Playgroud)

html jquery canvas click draw

1
推荐指数
1
解决办法
3229
查看次数

单击以显示然后单击另一个以隐藏它

当用户点击我的<input>时候会显示一些<div>

然后用户点击另一个元素agian <body>或其他div,所以隐藏它

$("input").click(function(){
    $("div").fadeIn();
}).not(this).click(function(e){
    $("div").fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

游乐场:http://jsfiddle.net/Zf34Q/

我的代码做fadeIn()fadeOut()在同一时间:(

jquery triggers click

1
推荐指数
1
解决办法
47
查看次数

无法检测jQuery点击vimeo iframe

简单的Vimeo iframe点击不起作用:

$('iframe').click(function(){
    alert('ok');
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

$('body').click(..
$(document).on('click','iframe',..
Run Code Online (Sandbox Code Playgroud)

但是当用户在悬停它时点击视频时,没有任何效果,它只播放视频.

javascript video jquery click vimeo

1
推荐指数
1
解决办法
3938
查看次数

检查是否单击了按钮并在单击功能外返回警报

我想看看是否点击了一个按钮.如果单击它,则返回单击功能之外的警报.这是我的代码:

$(document).ready(function() {
  var test = 0;
  $('body').on('click', '#publish', function() {
    test = 1;
  });

  if(test == 1) {
    alert('jay!');
  }
});
Run Code Online (Sandbox Code Playgroud)

点击时不会显示警告窗口.为什么?我是否必须在click函数中使用if语句?我希望这段代码能够正常工作.

http://jsfiddle.net/edgren/TXERr/

提前致谢.

jquery click

1
推荐指数
1
解决办法
4903
查看次数

在激活按钮之前需要将焦点更改为另一个文本框

我正在通过“type”命令在浏览器的文本字段中输入数据。为了激活SaveCancel按钮(不灰显),我需要单击另一个文本字段以更改焦点。这是手动工作的,但我似乎无法弄清楚如何以编程方式进行。我试过点击,clickAt, doubleClick, mouseOver/click/mouseOUt, mouseDown/mouseUp, focus, fireEvent...都没有运气。感谢您的任何建议!

selenium click

1
推荐指数
1
解决办法
8447
查看次数

jQuery 模拟按时间间隔点击

是否可以在设定的时间间隔模拟点击链接或任何标签?

原因:我有一个没有自动旋转功能的插件,但只能在单击 Next 和 Prev 链接时起作用。所以我想写一个自动点击的函数。

jquery click jquery-click-event

1
推荐指数
1
解决办法
4919
查看次数

JavaScript 中的 ctrl + 单击

我在这个问题上广泛浏览了互联网,包括stackoverflow。我的问题是我有一组“li”,当我使用 ctrl+click 手势时,我希望将多个“li”添加到数组中。我不断得到(e)没有定义。我发现了这个:在没有 keydown 事件的情况下检测 CTRL 和 SHIFT 键?

但是提供的答案似乎对许多人有用,但对我却不起作用。每当我使用它时,即使作为我脚本中的唯一项目,firebug 也不会在控制台中响应,但我得到:“ReferenceError: e is not defined。” 我正在使用 Firefox。

我最大的问题是将其添加到函数中,并且作为事件触发的函数可以区分 ctrl+click 和正常单击。

有什么专业知识可以帮助我吗?Vanilla Javascript 首选。

本练习的重点是在单击时删除 LI,但如果我按住 ctrl,我想一次删除多个。也许通过将它们存储在数组中。编辑:一些代码

    <ul id = "ulItem">
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
</ul>

<script>

window.onload = function(){
var ulItem = document.getElementById("ulItem"); //gets UL with the "ulItem" ID.
var ulList = ulItem.getElementsByTagName("li"); //gets ulItem's "li" in an array.



///prepareLI function.///
var prepareLi = function(){

for(i = 0; i < ulList.length; i++){

ulList[i].addEventListener('click', elementClick);
}
}

//adds the same …
Run Code Online (Sandbox Code Playgroud)

javascript events click ctrl

1
推荐指数
1
解决办法
8577
查看次数

jquery中可点击div中的按钮

我有整个 div,你可以点击它来切换那个 div 的主要部分。问题是我在那个 div 中也有可点击的按钮,当我点击它时,它会做它应该做的事情,但同时也会切换整个 div!

我怎样才能禁用它?

javascript jquery click

1
推荐指数
1
解决办法
873
查看次数

jQuery使addClass可以点击

我有一个li,当点击时使用jQuery添加类"active":

$('li').click(function() {
    $(this).addClass('active');
});
Run Code Online (Sandbox Code Playgroud)

然后,我希望再次单击它后删除该类:

 $('.active').click(function() {
    $(this).removeClass('active');
});
Run Code Online (Sandbox Code Playgroud)

然而,点击没有任何反应,我想这是因为该类首先不存在,我使用$(document).ready();

有没有办法访问添加的变量,或者我错过了一些非常明显的东西,当点击添加的类时没有任何结果?

jquery click onclick

1
推荐指数
1
解决办法
29
查看次数