Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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_Html_Jquery_Dom - Fatal编程技术网

Javascript JQuery在窗口上触发点击后事件

Javascript JQuery在窗口上触发点击后事件,javascript,html,jquery,dom,Javascript,Html,Jquery,Dom,我正在做一个非常简单的Jquery支持的事件,用户单击两个div元素,然后使用所选项目的数据进行API调用。出于某种原因,$.post函数正在触发我的$(“.objects”).click()调用,将窗口设置为这样。我起初以为这会导致双击(因为click函数依赖于元素中的数据,而窗口中没有),直到我进行了一些调试。这是我的密码: HTML: <div class="option-selection" data-value="1">Option

我正在做一个非常简单的Jquery支持的事件,用户单击两个div元素,然后使用所选项目的数据进行API调用。出于某种原因,$.post函数正在触发我的$(“.objects”).click()调用,将窗口设置为这样。我起初以为这会导致双击(因为click函数依赖于元素中的数据,而窗口中没有),直到我进行了一些调试。这是我的密码:

HTML:

<div class="option-selection" data-value="1">Option 1</div>
<div class="option-selection" data-value="2">Option 2</div>
<div class="option-selection" data-value="3">Option 3</div>
<div class="option-selection" data-value="4">Option 4</div>
... etc ...
控制台输出:

CLICK ACTIVATED:
<div class=​"option-selection" data-value=​"5">​…​</div>​
SELECTING ITEM 1
CLICK ACTIVATED:
<div class=​"option-selection" data-value=​"21">​…​</div>​
SELECTING ITEM 2
ATTEMPTING TO POST ...
CLICK ACTIVATED:
Window {parent: Window, opener: null, top: Window, length: 1, frames: Window, …}
Uncaught TypeError: Cannot read property 'stopImmediatePropagation' of undefined
    at 1:133
    at i (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at Object.<anonymous> (jquery.min.js:2)
    at Function.each (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)
点击激活:
​…​​
选择项目1
单击“激活”:
​…​​
选择项目2
正在尝试发布。。。
单击“激活”:
窗口{parent:Window,opener:null,top:Window,长度:1,frames:Window,…}
未捕获的TypeError:无法读取未定义的属性“StopImmediatePropaction”
1点133分
at i(jquery.min.js:2)
在qt(jquery.min.js:2)
在qt(jquery.min.js:2)
反对。(jquery.min.js:2)
在Function.each(jquery.min.js:2)
在qt(jquery.min.js:2)
在qt(jquery.min.js:2)
在qt(jquery.min.js:2)
在qt(jquery.min.js:2)
你知道这里发生了什么,怎么解决吗?我知道我可以检查元素是否是dom对象(我找到了一个函数),但它似乎不应该一开始就这样触发。

尝试下面的代码

var选项1;
$(“.option selection”)。单击(函数(ev){
如果(选项_1){//检查是否选择了第一个选项
如果(选项_1==$(此)[0]){//检查第一个选定项是否不是当前项
log(“已选择选项”);
}否则{
log(“选择了2个不同的选项”);
//在这里运行您的POST call
//完成post调用后,您可以重置选项_1的值,以便用户可以在需要时为下一轮选择其他选项
选项_1=空;
console.log(“选项重置”);
}
}否则{
选项_1=$(此)[0];
log(“新选项”);
}
});
。选项选择{
光标:指针;
}

选择1
选择2
选择3

选项4
似乎错误在其他地方。。。原因
function select_item_2(element) {
    console.log("SELECTING ITEM 2");
    ... get data ...
    console.log("ATTEMPTING TO POST ...");
    $.post( ... );

}
CLICK ACTIVATED:
<div class=​"option-selection" data-value=​"5">​…​</div>​
SELECTING ITEM 1
CLICK ACTIVATED:
<div class=​"option-selection" data-value=​"21">​…​</div>​
SELECTING ITEM 2
ATTEMPTING TO POST ...
CLICK ACTIVATED:
Window {parent: Window, opener: null, top: Window, length: 1, frames: Window, …}
Uncaught TypeError: Cannot read property 'stopImmediatePropagation' of undefined
    at 1:133
    at i (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at Object.<anonymous> (jquery.min.js:2)
    at Function.each (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)
    at qt (jquery.min.js:2)