Как отключить событие onclick, если оно произошло? - PullRequest
9 голосов
/ 09 августа 2010

У меня было изображение, которое вызывает add_cart() функцию JavaScript, когда onclick()

<img src="images/add.png" onclick="add_cart()">

Я хочу, чтобы пользователь щелкнул изображение только один раз. Когда пользователь щелкает его первый раз, должна вызываться функция add_cart. Если он щелкнет второй раз, событие не произойдет.

Ответы [ 4 ]

20 голосов
/ 09 августа 2010
<img src="images/add.png" onclick="add_cart(); this.onclick=null;">
6 голосов
/ 10 апреля 2015

Если вы имеете дело с jquery, вы можете использовать jquery one method

$(".myDiv").one("click", function(){  
    alert("this will happen only once");  
});

Приветствия

1 голос
/ 09 августа 2010

Использование

<img src="images/add.png" onclick="this.onclick = function(){};add_cart();">
0 голосов
/ 09 августа 2010
window.onload = function() {
    document.getElementById('myImageId').onclick = handleImageClick;
}

var handleImageClick = function(e) {
    var target;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;

    if(target) {
        target.onclick = function(){}

        // do your stuff here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...