簡體   English   中英

從jQuery處理程序獲取事件默認處理程序的結果

[英]Getting event default handler's result from jQuery handler

假設存在一個帶有onclick事件的DIV元素:

<div onclick="return 'Hello world'"></div>

現在,我想從委托的jQuery事件中獲取此“ Hello world”字符串:

$('body').delegate('div', 'click', function(event){
    var s = ...; // Now s is 'Hello world'
});

可能嗎?

我需要使用它作為復雜的IE錯誤的解決方法,因此僅IE解決方案可以。

PS對於那些想知道的人:錯誤是在IE8文檔模式下,即使錨點的“ onclick”處理程序中存在“ return false”,IE10也會遵循FORM元素內的鏈接。

var s = this.onclick(); 盡管目前尚不清楚您要實現什么目標,但可以解決這個問題。

對您的代碼進行一些修改:

<div onclick="alert('Hello world');">Hello World</div>

$('body').delegate('div', 'click', function(e) {
    e.preventDefault();
    exec($(this).attr('onclick'));
});

JSFiddle: http : //jsfiddle.net/y7ABJ/

另一個選擇,因為不清楚您的目標是什么:

<div data-my-text="Hello world">Hello World</div>

$('body').delegate('div', 'click', function(e) {
    e.preventDefault();
    var s = $(this).data('myText');
    alert(s);
});

暫無
暫無

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

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