我很好奇最好的方法是用HTML中的href鏈接調用JS函數。我不使用庫,我看到很多關於jQuery使用事件處理程序...從HRE調用JS函數
但是,如果即時通訊不使用庫,它仍然可以完成,或者我將不得不使用點擊類型調用?
我很好奇最好的方法是用HTML中的href鏈接調用JS函數。我不使用庫,我看到很多關於jQuery使用事件處理程序...從HRE調用JS函數
但是,如果即時通訊不使用庫,它仍然可以完成,或者我將不得不使用點擊類型調用?
你可以用普通的javascript來使用事件處理程序。沒有框架是必需的。這裏是一個跨瀏覽器的功能,我使用:
// add event cross browser
function addEvent(elem, event, fn) {
if (elem.addEventListener) {
elem.addEventListener(event, fn, false);
} else {
elem.attachEvent("on" + event, function() {
// set the this pointer same as addEventListener when fn is called
return(fn.call(elem, window.event));
});
}
}
,並使用它的一個例子是這樣的:
HTML:
<a id="myLink" href="#">Click ME</a>
的Javascript:
var link = document.getElementById("myLink").
addEvent(link, "click", function(e) {
// process the click on the link here
});
如果您不希望鏈接的默認點擊發生,那麼您需要防止事件發生時的默認行爲像這樣:
var link = document.getElementById("myLink").
addEvent(link, "click", function(e) {
// process the click on the link here
// prevent default action of the click
if (e.preventDefault) {
e.preventDefault(); // normal browsers
} else {
e.returnValue = false; // older versions of IE (yuck)
}
});
試試這個
function test() { alert (''); } <a href="#" onclick="test();" />
基本上有兩種方式:
<a href="javascript:someFunction(...)">...</a>
和
<a href="#" onclick="return someFunction(...)">...</a>
(在這種情況下someFunction必須返回false)
我更喜歡後者。
爲什麼有些人會選擇一種比另一種更重要? – Sir 2012-03-27 03:25:56
在後一種情況下,瀏覽器在懸停鼠標懸停(這是醜陋的,IMO)的底部狀態欄中不顯示「javascript:function」。 – 2012-03-27 03:31:57
只是跳上jQuery的潮流,你會感謝我的餘生。我最初的啓發是SO hazing :-D – 2012-03-27 03:21:46
這就是懶惰的人的談話:P – Sir 2012-03-27 03:28:23
我是那些喜歡自己做所有事情的人之一,但老實說,一旦你嘗試jQuery,你永遠不會回頭。實際上有十億種情況,jQuery有一個函數可以封裝自己需要編寫的3000行代碼。做到這一點..... – 2012-03-27 03:38:32