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

Javascript 如何在jquery事件运行时';在这种特殊情况下,单击了什么?

Javascript 如何在jquery事件运行时';在这种特殊情况下,单击了什么?,javascript,jquery,Javascript,Jquery,我想在单击id=hideButton的项目时使其运行。 我想将relatedTarget.data('applicationkey')添加到名为 预览应用程序 如何更正此代码 编辑:好的,很抱歉没有解释。这就是发生的事情 $('#hideButton').click(function (e) { var key = $(e.relatedTarget).data('applicationkey'); viewModel.previewApplicationKey(key); })

我想在单击id=hideButton的项目时使其运行。 我想将relatedTarget.data('applicationkey')添加到名为 预览应用程序

如何更正此代码

编辑:好的,很抱歉没有解释。这就是发生的事情

$('#hideButton').click(function (e) {
    var key = $(e.relatedTarget).data('applicationkey');
    viewModel.previewApplicationKey(key);
});
因此,理论上,这应该将“abc9rbwys”添加到我的previewApplicationKey视图模型中。
你看到什么错误了吗?我没有收到错误消息,但它只是没有将键添加到viewModel。

据我所知,您只想读取单击的标记的属性,您应该可以使用
$(this)
简单地执行此操作,因为您正在将事件处理程序附加到具有此属性的相同元素:

$('#hideCross').click(function (e) {
    var key = $(e.relatedTarget).data('applicationkey');
    viewModel.previewApplicationKey(key);
});
更新:正如@Janar提到的,您可能对元素使用了相同的ID,这是不正确的。尝试使用一些将事件处理程序附加到元素,如:

var viewModel=[];
$('i[data applicationkey]')。单击(函数(e){
var key=$(this.data('applicationkey');
viewModel.push(按键);
console.log(viewModel);
});
i{
光标:指针;
}

单击我添加applicationkey

单击我添加applicationkey

单击我添加应用程序密钥
,您的代码以何种方式失败?当你点击上面提到的项目时,代码是否运行?错误是什么?我们了解您所做的工作和您的代码,但错误是什么以及在哪里?可能是因为它只对
mouseout
/
mouseover
事件有用。您希望从
点击事件中得到什么元素?我不明白为什么Knockout不能处理点击事件(“注1:将“当前项”作为参数传递给处理函数”)。您正在使用jQuery修改淘汰视图模型。请稍候,抱歉。实际上,当我单击它时,它仍然没有将该项添加到viewModel中。有多个项目。当我单击第一个按钮时,它工作正常。但当我尝试单击其他项目时,applicationKey保持不变,@user7677413您使用的ID是否与Janar提到的相同?您能否创建一个包含更多项目的示例来说明您的问题?请参阅更新,也许它会对您有所帮助。顺便问一下,你使用的是什么框架?也许有更好的事件处理方法。
$('#hideCross').click(function (e) {
    var key = $(e.relatedTarget).data('applicationkey');
    viewModel.previewApplicationKey(key);
});
$('#hideCross').click(function (e) {
    var key = $(this).data('applicationkey');
    viewModel.previewApplicationKey(key);
});