//snippet 1
let checkDiv = document.querySelector('.check-div')
let array = ['1', '2', '3']
const handleClick = () =>{
// return false
if(array.length <= 3){
location.href = 'https://www.example.com'
}else{
alert('Maximum 3 items to be compared')
return false
}
}
//snippet 2
checkDiv.addEventListener('click', ()=>{
if(array.length <= 3){
location.href = 'https://www.example.com'
}else{
alert('Maximum 3 items to be compared')
}
})
//snippet 3
function addElements(elem){
let elem1 = document.querySelector('.elem1')
elem1.insertAdjacentHTML('beforeend',`<a class='atag' onclick="ps_block_user(elem)" href="./compare-products/" target="_blank">cliquez pour comparer</a>`)
}
function ps_block_user(elem){
if(elem.length>3){
alert('Un maximum de 3 produits à comparer est possible!')
return false
}
}
addElements(array)
<3). I have followed Iananswer of this SO 我还尝试使用下面的点击事件侦听器,但是在这里我们仍然无法阻止重定向到第一个片段。
let atag = document.querySelector('.atag')
atag.addEventListener('click', ()=>{
if(array.length>2){
// return false
alert('Un maximum de 2 produits à comparer est possible!')
return false
}
})
onclick
属性在全局范围中执行,因此它们无法参考函数中的局部变量。
添加HTML,直接创建元素并使用addEventListener()
。然后,您可以参考变量。