如何使用类之类的东西将点击代码移动到一个地方.各种 html 标记处的重复代码
How to move onclick code to one place using something like class. Repeated code at various html tags
onclick="triggersTracking($(this).attr('a'),$(this).attr('b'),$(this).attr('c'),Enum.BtnSellerView)"
我在各种 HTML 标签/按钮上有这一行。我想将此代码移动到一个地方以获得更好的可维护性。问题在于我传递的第三个/最后一个属性,因为它的 Ennum,它从不同的标签元素传递不同的值。
我怎样才能把它移动到一个公共的地方,在那里它会被调用。例如,如果我只有这些(this(.attr,我可以创建一个类,因为它对于每个标签都是通用的。
你可以这样做
- 为所有元素指定一个通用类名
- 然后向每个标签添加一个数据属性"data-enum",并具有相应的值。
然后你可以像这样编写代码,
$(".className").click(function () {
var a = $(this).attr('a');
var b = $(this).attr('b');
var c = $(this).attr('c');
var enum = $(this).data('enum');
});
你可以使用 jquery 来获取这个:
$("body").on("click", "someClass", function() {
//code here
});
你不需要写$(this).attr('a'),$(this).attr('b'),$(this).attr('c')
再次和 agin 在每个 onClick 上只是 PaaS this
对象并将它们全部置于功能中,例如:
onclick="triggersTracking(this,Enum.BtnSellerView)"
function triggersTracking(obj,enumVal){
// get these values here by obj (no repetitive code needed in every onclick )
$(obj).attr('a')
$(obj).attr('c')
$(obj).attr('b')
}
做这样的事情
.click((
.on((
.data((
如果您使用像 data-enum 、data-e....
所以使用 $(this(.data(( 它将返回正在启动的 JSON 中的所有属性 从数据-
$('.click').click(function(e) {
console.log($(this).data())
$('body').append($(this).attr('a'))
})
// if you have dynamic html tag then go for .on
$('body').on('click','.click',function(){
//callback
console.log($(this).data())
$('body').append($(this).attr('a'))
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="click" a="i am a attr of p" b="i am b" data-a="i am data a">i am p</p>
<h2 class="click" a="i am a attr of h2">i am h2</h2>
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在vs2002中调试html页面
- 如何使用javascript或html下载PDF格式的填写表单
- 视频HTML没有'无法在Internet Explorer 11上工作
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 从各种 HTML 文件加载模板 角度 JS.
- 禁用各种html元素上的点击事件
- 保存各种可拖动文件和可丢弃文件的状态以创建新的html
- 如何使用类之类的东西将点击代码移动到一个地方.各种 html 标记处的重复代码
- 如何将各种var放入HTML中创建的容器中