最近写一个插件的时候遇到了这么一个问题。

  插件的要求是,仅仅通过一行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");
}
}

js添加onclick中自定义方法的更多相关文章

  1. js添加onclick函数

    document.getElementById('Add').setAttribute("onclick",AddNum()); 相当于不停的调用Addnum函数 应改成docum ...

  2. js添加select中option

    1.js代码 $("#year").append("<option value="+value的值+">"+内容+"& ...

  3. 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结

    史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...

  4. jq动态添加onclick事件在谷歌中不起作用

    $("#oa-bed-rooType").append($('<option/>').val(0).text('请选择房间类型')); $('#oa-bed-roomT ...

  5. js限制输入数字能输入小数点,js定义数组,js往数组中添加数据,js将字符型转为数字型,除法结果保留两位小数——js小测:计算比赛得分

    一个朋友跟我说要去给某个比赛算分: 规则:去掉最低分最高分求平均分: 最近在学习大数据可视化——图谱,用到js一些东西,所以今天就用js练练 用到知识点: js限制输入数字能输入小数点,js定义数组, ...

  6. JS 事件添加onclick写法注意。

    自定义函数添加onclick事件写法注意. 错误写法:element.onclick = addclass(className); 正确写法:element.onclick = function(){ ...

  7. JS添加节点方法与JQuery添加节点方法的比较及总结

    原生JS添加节点方法与JQuery添加节点方法的比较及总结   一.首先构建一个简单布局,来供下边讲解使用 1.HTML部分代码: <div id="div1">div ...

  8. jquery与js添加子元素

    例如在select中添加option JQuery做法: <select id="myselect" name="myselect"> </s ...

  9. js在HTML中的三种写法

    1.内联样式 内联样式分为两种,一是直接写入元素的标签内部 <html> <title>js样式内联写法</title> <meta http-equiv=& ...

随机推荐

  1. WEUI官方样式小程序工具打开预览

    https://github.com/Tencent/weui-wxss 用微信web开发者工具打开dist目录(请注意,是dist目录,不是整个项目)

  2. NTFS文件系统的UsnJrnl对于FileReference的处理

    1. 背景 http://stackoverflow.com/q/20418694/941650 这里面临的一个核心问题是,如果MFT Reference相等,能够表明这些记录代表的是同一个文件吗? ...

  3. 【读书笔记】:MIT线性代数(1):Linear Combinations

    1. Linear Combination Two linear operations of vectors: Linear combination: 2.Geometric Explaination ...

  4. think PHP提取字符串中的数字,并到数据库中使用in查询所关联表的字段值

    /* * 提取数字并去数据库取得相应的分类名 * $strs 需要处理的字符串 * $table 数据表名 * $condition 条件字段 * $field 获取的字段 */ public fun ...

  5. FlowProtal jQuery 对比时间大小

    function ValidatoTime(source, args){ var StartTime = agent.calcExpress(null, 'SCTDB:AS_MeetingRoom.S ...

  6. soket通信

    import socket #socket采用cs结构,client and Server B/S browser and server sock = socket.socket(socket.AF_ ...

  7. git 上传本地代码

    新增本地代码到远程库 http://blog.csdn.net/hanhailong726188/article/details/46738929 github配置教程 http://www.runo ...

  8. docker--container

    [root@localhost docker_test]# docker run bigni/test3 #运行 docker so easy ! [root@localhost docker_tes ...

  9. Vue中子组件数据跟着父组件改变和父组件数据跟着子组件改变的方法

    一,子组件数据跟着父组件改变 父组件的代码 <template> <div class="home"> <img alt="Vue logo ...

  10. showmount - 显示关于 NFS 服务器文件系统挂载的信息

    总览 /usr/sbin/showmount [ -adehv ] [ --all ] [ --directories ] [ --exports ] [ --help ] [ --version ] ...