亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - 關于行內元素onclick事件,為什么會出錯?

瀏覽:131日期:2023-04-12 16:31:26

問題描述

javascript - 關于行內元素onclick事件,為什么會出錯?

點擊時會報錯 show is not defined

為什么把show()函數放$(function(){})外面就好了?

問題解答

回答1:

onclick='show()'執行的是window.show()

回答2:

你append的html是字符串,onclick里的事件是show(),如果沒指定特定對象的方法,會默認去尋找全局方法,而$(function(){})是一個閉包

回答3:

寫成這樣看看

$(function() { leftMenu(); function show() {alert(’hhhhhhhh’); } function leftMenu() { var html = ’<p onclick='’+show()+’'>click me</dv>’$(’#box’).append(html); } })

直接調show()它其實是立即執行的,如果寫成onclick='show()',$(document).ready()是文檔加載完后執行的,當頁面結構完成了,你再點擊觸發show(),這個時候就會去window下面查找show(),當然結果就是undefined如果實在要寫在$(funciton(){})里,可以這樣做:

$(function() { leftMenu(); /*function show() {alert(’hhhhhhhh’); }*/function leftMenu() {var html = ’<p class='show'>click me</dv>’$(’#box’).append(html); } //做個事件委托 $(’body’).on(’click’, $(’.show’), function() {alert(’aaaaa’) }) })回答4:

show 函數是匿名函數內的,onclick 綁定的會去全局搜索,找不到匿名函數內定義的東西

回答5:

onclick會在window對象底下找自定義函數show(),也就是window.shou()。。所以是要放在$(function(){})函數外邊的。。所以以后把自定義函數都寫在$(function(){})外邊,一些后續的處理過程和調用,放在$(function(){})里面,確保文檔加載完成之后調用

回答6:

通俗易懂的說法:$(function(){})是文檔執行完畢再執行里面內容而你在文檔加載結束添加了綁定。他執行html的時候未找到show(),請采納

回答7:

其實是js的作用域引起的問題,onclick='show()'執行的是window里面的show()方法,但是Window里面并沒有這個方法。

回答8:

因為,$(function(){}) = $.ready(),也就是說頁面加載完畢后才聲明函數show , 但是你把show()寫在行內onclick事件,而這個時候的show函數還未聲明,所以會報 not defined

回答9:

把 show 方法的定義放到 leftMenu 的上面

回答10:

需要委托~~

標簽: JavaScript
主站蜘蛛池模板: 亚洲精品午夜aaa级久久久久 | 精品国产日韩久久亚洲 | 爱福利极品盛宴 | 国产美女一级视频 | 国产精品成人va在线观看入口 | 国产女主播91 | 99在线国产 | 亚洲午夜精品一级在线 | 久久久久欧美精品 | 黄色片子网站 | 尤物视频在线观看网址 | 日本视频免费高清一本18 | 国产在线拍小情侣国产拍拍偷 | 亚洲欧洲国产成人综合一本 | 日本一区二区免费在线 | 香蕉高清免费永久在线视频 | 日韩伦理一区二区三区 | 国产一级αv片免费观看 | 毛片国产 | 美国黄色一级 | 国产精品毛片一区二区三区 | 国产亚洲精品美女久久久久 | 国产精品999| 亚洲一区亚洲二区 | 欧美大片aaaa一级毛片 | 成人啪啪免费视频 | 男女激情视频国产免费观看 | 久久国产精品一区 | 日本伊人色 | 久久欧美精品欧美久久欧美 | 91久久精品国产一区二区 | 国产成人永久免费视 | 国产3级在线观看 | 欧美日韩亚洲国产精品一区二区 | 在线免费观看精品 | 97在线视频99播放 | 91视频国产高清 | 国产成人一区二区三区精品久久 | 亚洲欧美日韩色 | 泄欲网站免费观看 | 久久综合中文字幕一区二区三区 |