如果我的文章幫到了你,嘻嘻,請給我點個贊。
喜歡用第三方插件的可以看看哦,說不定你也會碰到的這個問題的(至少以前在easyui中我遇到類似的,但是它有其他的方法可以實現,就避免了這個問題)。
如標題所言,今天我碰到了這個問題一頭霧水,明明記得對象是可以傳參的啊。我使用了一款基於bootstrap的表格插件DataTables,想把行信息直接傳給操作函數,方便編輯(此行信息是一個對象,按道理可以的啊),但是寫出來後怎麼也不執行,於是我用谷歌調試,過程如下。
在表格加載的時候執行上面的代碼,把行信息傳遞給了editInfo函數,出來界面如下:
當點擊編輯的時候,谷歌就報了這個錯誤:
我在網上百度過,大多是由於缺少分號,或雙引號不正確造成的,但找了一遍並沒有發現問題,又調試了一次發現editInfo函數根本沒有執行,這我就找到了問題的源頭(傳參未能傳成功)。於是我查看了網頁加載後的樣子。
<
上網百度了很多對象傳參的問題,但都無解,只好請教我的好朋友外加大神小豬幫忙,他告訴我可以傳字符串試試。於是就有了下面的改動:
但依舊不能執行編輯事件,發現被瀏覽器解析過後變成如下的樣子:
雙引號必須成對出現,這樣當然不會執行事件了,最開始我想把full對象用escape編碼,這樣傳遞過去就是一個字符串,然後接受的時候反編碼,不過小豬說大可不必這樣麻煩,最終至修改了這個地方:
如此以來點編輯的時候就執行了。