我有以下觸發jQuery中:如何將事件傳遞給。('click')上的命名函數?
$('.text').on('click', '.readless', contract);
在合同,我想用event.preventDefault()
但這並不工作在Firefox,所以我需要通過收縮事件。我該怎麼做呢?
我有以下觸發jQuery中:如何將事件傳遞給。('click')上的命名函數?
$('.text').on('click', '.readless', contract);
在合同,我想用event.preventDefault()
但這並不工作在Firefox,所以我需要通過收縮事件。我該怎麼做呢?
可以做到這一點:
$(function() {
// Attach Event
// new way (jQuery 1.7+) - on(events, selector, handler);
$('.text').on('click', '.readless', contract);
function contract(e) {
e.preventDefault();
alert(e.type);
}
// Create elements dynamically
$('.text').append('<div class="readless">click me</div>');
});
添加功能contract
的參考on()
方法後,event
或e
變量被自動傳遞給函數作爲第一個參數。
你是否在合同函數上傳遞了e?
contract(e){
e.preventDefault();
}
即使沒有從click事件傳遞它,e var應該在接收端可用。
這是一個內聯函數會是什麼樣子。我也使用stopPropagation
。
$('.text').on('click', '.readless', function(event){
event.preventDefault();
event.stopPropagation();
});
只要接受'event'作爲第一個參數? 'function contract(event){...}' –
請參閱jQuery'preventDefault()'文檔中的示例:http://api.jquery.com/event.preventDefault/#example-0 –
另一個示例http:///jsfiddle.net/DVPrk/ – BeNdErR