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

  插件的要求是,仅仅通过一行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. asp.net mvc 特性路由(MapMvcAttributeRoutes)的应用

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012835032/article/details/51160824asp.net mvc 特性路由 ...

  2. 伪造请求头向url传递参数爬取百度默认翻译

    from urllib import request,parse import json # 翻译函数 def fanyi(msg): #参数封装 data = { "kw": c ...

  3. 数组中重复的数字(js实现)

    题目 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的 ...

  4. a标签的锚点链接

    <a href="#creditor" class="clearfix nav_creditor"> <div class="sec ...

  5. Skimap_ros 利用RGBD创建Octomap(一)

    1. 奥比中光astra RGBD相机安装 1.1 安装依赖 $ sudo apt-get install build-essential freeglut3 freeglut3-dev 1.2 检查 ...

  6. powerdesigner级联删除

    在Reference Properties属性窗口的Integrity属性页中选中Delete Constraint的Cascade;选中Update Constraint的Cascade.

  7. GOOSE报文解析

    GOOSE报文解析 变电站 使用 MMS报文 http://www.360doc.com/content/16/1014/20/36538220_598459873.shtml

  8. RIDE使用介绍

    [转载] RIDE是一款专门用来编辑Robot Framework用例的软件,用Python编写并且开源.当我们针对一个系统编写好一套用例后,每当我们对系 统做一些更改的时候,便可以把已经写好的用例拿 ...

  9. 用idea将本地项目提交到gitlab上

    提交的前提是你必须有gitlab的地址 以下是将本地代码提交到gitlab上 在idea的菜单项选择 VCS>Import into Version Control>Create Git ...

  10. StackOverflowError

    "Caused by: java.lang.StackOverflowError: null",当后台出现这个报错信息的时候,证明在代码模块里面出现了死循环,但是不一定是代码的问题 ...