突然要交項目,還要寫原生的,我好難哇,所以又遇到問題啦!
問題: append添加一個刪除框,且傳入了刪除的id,但是點擊刪除的時候,觸發(fā)刪除的onclick時,卻找不到傳入的參數(shù)id,所以也沒辦法發(fā)出刪除請求了。
明明傳入了,但是就是找不到,頭很大哇。
原因:
- 用append添加的話,調(diào)用ajax返回參數(shù)添加參數(shù)到onclick中就會出現(xiàn)數(shù)據(jù)不能顯示,整個js模塊失效的情況。
- onclick參數(shù)中如果包含整數(shù)又包含字符串的話,必須要給參數(shù)加單引號。
而單引號在append中又 默認(rèn)成分割符,這樣就無法正常輸出參數(shù)了,即便輸出了參數(shù)也都是不帶單引號的參數(shù),這樣的參數(shù)會讓你寫的function不起作用。 - 注意:在append中要寫單引號的時候用轉(zhuǎn)義符,要寫單引號
/'一個斜杠加單引號才是單引號!
寫法:
-
參數(shù)是變量的話 :得用
${},因為是模板字符串 即:DeleteView(${viewId}) -
參數(shù)是字符串的話 :
DeleteView(\'viewId\') -
參數(shù)是數(shù)字的話 :可直接寫
DeleteView(1)
代碼示例:
function viewDeleteLoad(viewId) {
let con = $(`
<div class="card-body" >
<h4 class="card-title" >提示</h4>
<p>確認(rèn)要刪除嗎?</p>
<hr>
<div style="text-align: right">
<button class="btn_sub btn " onclick="closeDelWindow()">取消</button>
<button class="btn_sub btn" onclick="DeleteView(${viewId})">確 定</button>
</div>
</div>`);
$('#delete_view').append(con);
}