日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

闭包引起的onclick不起作用

發(fā)布時(shí)間:2025/3/15 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 闭包引起的onclick不起作用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問題描述:在html頁面綁定οnclick="cli()" 方法,定義在$(function( function cli(){} ))不起作用

$(function(){
function createTableData(param){
$.ajax({
url: "/api/ezs/dataAcquisition/list",
data:{"param":JSON.stringify(param)},
type: 'post',
dataType: 'json',
success: function (data) {
// console.log(data);
$("#collection_content").empty();
for(var i=0;i<data.data.length;i++){
var collection_table='<div class="ezsm-collection-table">' +
'<table cellspacing="0">' +
'<tr><td>名稱/規(guī)格:</td><td id="openDetail" οnclick="openDetail('+data.data[i].id+');">'+data.data[i].specification+'</td></tr>' +
'<tr><td>地區(qū):</td><td>'+data.data[i].areaName+'</td></tr>' +
'<tr><td>來源:</td><td>'+data.data[i].source+'</td></tr>' +
'<tr><td>昨日價(jià)格:</td><td>'+data.data[i].price+'</td></tr>' +
'<tr>' +
'<td>當(dāng)日價(jià)格:</td>' +
'<td>' +
'<div class="ezsm-collection-table-btn" οnclick="unchangedBtn('+data.data[i].id+')">不變</div>' +
'<div class="ezsm-collection-table-btn" οnclick="Ezsm_Alert_UpPrice('+data.data[i].id+');">更新</div>' +
'</td>' +
'</tr>' +
'</table></div>';
$("#collection_content").append(collection_table);
}
},
error: function (status) {}
});
}
//此時(shí)定義的opendetail不起作用
function openDetail(trendId){
localStorage.removeItem('trendId');
localStorage.setItem('trendId',trendId);

window.location.href="detail.html";

}

})

解決辦法
將$(function(){})換成閉包
(function(window){
//打開詳情
window.openDetail=function(trendId){

localStorage.removeItem('trendId');
localStorage.setItem('trendId',trendId);
window.location.href="detail.html";
};

})(window);

原因:$(function(){})只在自己的作用域起作用,onclick綁定的方法只在初始化頁面時(shí)加載之后就清空其作用域,除非將該方法放在$(function(){})外面,但這樣會出現(xiàn)代碼冗余.
此時(shí)將該方法放在window下面,這樣調(diào)用的時(shí)候就可以了

記錄: 不建議將onclick綁在頁面上,最優(yōu)的是使用h5 data-*自定義屬性(具體使用看js之 data-*自定義屬性)


?

轉(zhuǎn)載于:https://www.cnblogs.com/zhaozhenzhen/p/8795736.html

總結(jié)

以上是生活随笔為你收集整理的闭包引起的onclick不起作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。