Javascript <;a>;标记仅在双击时工作,而不是单击一次
您好,我有一个Javascript <;a>;标记仅在双击时工作,而不是单击一次,javascript,Javascript,您好,我有一个您正在ShowPopup函数中附加事件侦听器。只需将其更新为 function ShowPopup() { $('#divProjectAttachment').modal('toggle'); } 它会很好的工作 编辑: 为什么会发生这种情况 首先,这在第二次点击时有效,而不是在双击时有效 其次, 您已经在标记中附加了onclick事件处理程序。这将触发ShowPopup功能。 在ShowPopup函数中,您正在将click event listener附加到同一元素
您正在ShowPopup函数中附加事件侦听器。只需将其更新为
function ShowPopup() {
$('#divProjectAttachment').modal('toggle');
}
它会很好的工作
编辑:
为什么会发生这种情况
首先,这在第二次点击时有效,而不是在双击时有效
其次,
您已经在
标记中附加了onclick
事件处理程序。这将触发ShowPopup
功能。
在ShowPopup
函数中,您正在将click event listener附加到同一元素。
因此,当您第一次单击锚定标记时,ShowPopup会将事件侦听器附加到#lnkAttachment
。这里需要注意的一点是,您的ShowPopup函数在第一次单击时就被调用。但它不会显示弹出窗口,因为您正在将事件侦听器附加到元素,仅此而已。现在,在第一次调用ShowPopup之后,事件侦听器被附加。
下次单击lnkAttachment
时,事件侦听器已经存在,因此它将显示弹出窗口。此外,它还会再次附加click事件监听器(每次调用ShowPopup时,这是不必要的)
您可以按此答案所示保留代码
或
您可以决定遵循良好的编程风格,将事件附件(JavaScript)与显示标记(HTML)分开
方法如下
保持你的锚定标签
href=“javascript:void(0);“id=”lnkAttachment“>单击此处查看附件
(注意,此处没有onclick
事件处理程序)
在javascript中,您负责事件处理
$(document).on('ready', function(){
$("#lnkAttachment").on("click", function () {
$('#divProjectAttachment').modal('toggle');
});
}
您正在ShowPopup函数中附加事件侦听器。只需将其更新为
function ShowPopup() {
$('#divProjectAttachment').modal('toggle');
}
它会很好的工作
编辑:
为什么会发生这种情况
首先,这在第二次点击时有效,而不是在双击时有效
其次,
您已经在
标记中附加了onclick
事件处理程序。这将触发ShowPopup
功能。
在ShowPopup
函数中,您正在将click event listener附加到同一元素。
因此,当您第一次单击锚定标记时,ShowPopup会将事件侦听器附加到#lnkAttachment
。这里需要注意的一点是,您的ShowPopup函数在第一次单击时就被调用。但它不会显示弹出窗口,因为您正在将事件侦听器附加到元素,仅此而已。现在,在第一次调用ShowPopup之后,事件侦听器被附加。
下次单击lnkAttachment
时,事件侦听器已经存在,因此它将显示弹出窗口。此外,它还会再次附加click事件监听器(每次调用ShowPopup时,这是不必要的)
您可以按此答案所示保留代码
或
您可以决定遵循良好的编程风格,将事件附件(JavaScript)与显示标记(HTML)分开
方法如下
保持你的锚定标签
href=“javascript:void(0);“id=”lnkAttachment“>单击此处查看附件
(注意,此处没有onclick
事件处理程序)
在javascript中,您负责事件处理
$(document).on('ready', function(){
$("#lnkAttachment").on("click", function () {
$('#divProjectAttachment').modal('toggle');
});
}
当您使用jQuery时,您可以连接事件,而无需在html中单击onclick
<a>href="javascript:void(0);" id="lnkAttachment">Click here to View Attachments!</a>
当您使用jQuery时,您可以连接事件,而无需在html中单击onclick
<a>href="javascript:void(0);" id="lnkAttachment">Click here to View Attachments!</a>
是否每次单击都会调用单击处理程序?尝试在$(…).modal('toggle')之前添加console.log;是否每次单击都会调用单击处理程序?尝试在$(…).modal('toggle')之前添加console.log;