簡體   English   中英

單擊div中的任何內容時的jQuery事件單擊

[英]jQuery event click when clicked on any content inside a div

我有這個jQuery的:

$("div.result").live("click", function(event){
alert("kokoko");
});

HTML可以是:

<div id="result">
Flash banner code
Image with link 
etc.
</div>

我想做的是,當單擊div支架內的任何元素時觸發警報。 當前結果中沒有圖像橫幅時,不會觸發警報。

嘗試:

$("#result").on("click", function(){
    alert("kokoko");
});

// or

$("#result").click(function(){
    alert("kokoko");
});

// or just pure JavaScript

document.getElementById("result").addEventListener("click",function(){
    alert("kokoko");
});

盡管用這樣的純JavaScript(使用addEventremoveEvent函數)解決跨瀏覽器的問題是一個好習慣:

(function(){
    if ( document.addEventListener ) {
        this.addEvent = function(elem, type, fn) {
            elem.addEventListener(type, fn, false);
            return fn;
        };

        this.removeEvent = function(elem, type, fn) {
            elem.removeEventListener(type, fn, false);
        };
    } else if ( document.attachEvent ) {
        this.addEvent = function(elem, type, fn) {
            var bound = function() {
                return fn.apply(elem, arguments);
            };
            elem.attachEvent("on" + type, bound);
            return bound;
        };

        this.removeEvent = function (elem, type, fn) {
            elem.detachEvent("on" + type, fn);
        };
    }
})();

切勿使用或推薦已棄用的.live()

$("#result").on("click", function(event){
alert("kokoko");
});

應該這樣做:

$("#result").on("click", function(){
    alert("it worked!");
});

直播已棄用

應該是div#result .result是一個類。 另外,請盡量不要使用live,而應使用.on()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM