最近寫一個插件的時候遇到了這么一個問題。
插件的要求是,僅僅通過一行js代碼,就需要生成相應的頁面,不能改變源文件的代碼


生成頁面還好說,但是有一個問題就是,生成的頁面中是有一個按鈕的。按鈕也是可以添加自定義事件的,而且因為不能用addEventListener這個函數,只能在用標簽里的onclick
現在問題解決了。因為onclick后面的可以看成一個單獨的javascript文件。所以只需要如上圖一樣,添加上一個
(function(){ //這里填寫代碼 })()
就可以了
源碼
function CDint(CDintfun){ this.CDintfun = CDintfun || function(){}; this.init = function(){ this.divBlur.classList.add("black_blur"); this.blackDiv = document.createElement("div"); this.blackDiv.className = "black"; this.blackDiv.id = "black"; var rewardString = ""; this.blackDiv.innerHTML = "<div class=\"black_play_game\" id=\"black_play_game\" onclick=\'("+this.out+")();("+this.CDintfun+")()\'>開始游戲</div>" document.body.appendChild(this.blackDiv); }; this.out = function(){ document.querySelector("#black").classList.add("black_move"); document.querySelector(".black_blur").classList.add("black_blur_move"); } }
