2013-11-22 67 views
0

,保持莫名其妙我是當我嘗試如何通過有時一個內聯屬性(onclick="bam();")分配一個jQuery函數的一件事,有可能只有50%的機會,它會實際上火了。的JavaScript的onclick,onload事件,OnMouseEnter在 - 基本

我知道這個功能是很好的,因爲如果我指定一個普通的jQuery .on('click', function(){...})它完美的作品。在閱讀並重新閱讀我可以在網上找到的關於此的所有內容之後,我就像以前一樣無知。

,我沒有看到,我需要看到的模式和它使我意識到我需要找到這個簡單的教程。我不想學習JavaScript,我只想了解這一關鍵領域。

+1

沒有「分配jquery函數內聯」這樣的事情。當你使用'onclick =「doSomething()」'時,完全沒有任何與jQuery相關的工作(並且在沒有jQuery的情況下工作得很好)。 – Alxandr

+1

請發佈演示此行爲的代碼。 – Andre

+0

我假設你分配一個內聯處理程序時,該腳本正在HTML元素之前處理,因此不知道有關該元素,並在*無論* - 你收到函數是未定義的。 – tymeJV

回答

0

也許有在防止其「工作」的事件處理程序的錯誤,你可能會認爲它只是被調用的50%的時間,但它實際上被調用100%,並給出了意想不到的效果的50%的時間。

要查看是否有錯誤,你可以在Chrome或Firefox按F12與螢火蟲和檢查控制檯。要查看函數是否被調用,函數中的第一行可能是:console.log("I am called");無論發生什麼情況,至少應該在控制檯中看到該消息。

爲了更好的設計,您絕對不應該聲明應該在您的html(內聯)中觸發什麼事件,它應該在腳本中完成,這裏是jQuery可以讓您的生活更輕鬆的地方,因爲它的方法將工作和行爲相同瀏覽器。