美文网首页程序猿阵线联盟-汇总各类技术干货
引入前端框架,原生js失效问题

引入前端框架,原生js失效问题

作者: 拉普拉斯兽 | 来源:发表于2017-10-28 12:53 被阅读0次

现象

开发后台管理系统时遇到一个问题,后台管理系统是使用Hui+laravel+mysql实现的,很多表单等样式,都是用的Hui的自带样式。在用js代码控制checkbox勾选时,会勾选不上,通过浏览器开发工具查看样式,其实是已经加上去的,这是为什么呢?

Hui是一套轻量级web前端框架,官网地址是:http://www.h-ui.net/

问题解决的思路

因为是用js控制的,所以没有绑定鼠标的点击事件。我们通过对比以下两种动作的class变化:
1.手动鼠标勾选checkbox
2.js控制checkbox被勾选上
得出对比差,可以看下图:

image.png

我手动勾选时,input的checkbox,会追加属性checked=”checked“,同时它的父节点div,也会追加一个名为“checked”的class。

image.png

当我手动取消勾选时,就会删除这个class。

而js控制checkbox勾选时,父节点的div是不会追加这个“checked”class的。
事实上,它是已经被勾选上了,只是Hui的样式把原生html的input样式给覆盖,Hui在原生上包裹了一层样式,要控制这层样式。

解决方案

var checkBox = parent.document.getElementById("cartype_id_"+x);
//这样处理可以使用jquery的方法,控制勾选
$(checkBox).attr('checked',true);
//追加父节点的class
$(checkBox).parent().addClass("checked");

主要我的需求是个弹框,是需要获取弹框父节点的id,所以用parent.document,如果是在本节点,可以直接用jquery的方法。

我用原生js获取所需要更改的节点后,用$()可以强行调用jquery的方法,很方便。在此,我们追加父节点的class,就可以展示勾选了。

相关文章

  • 引入前端框架,原生js失效问题

    现象 开发后台管理系统时遇到一个问题,后台管理系统是使用Hui+laravel+mysql实现的,很多表单等样式,...

  • 原生老鼠游戏

    现在前端的框架越来越好,让前端有了飞跃的发展,不过一切都在原生JS的基础构建的框架,只要原生有了过硬的能力,前端之...

  • Ajax Axios

    关于Ajax兼容性问题 前端原生Ajax(get方式),后端使用node.js 前后端代码: 前端原生Ajax(p...

  • react笔记01

    前端分为三大框架 angular react vue 原生js本身操作dom很消耗性能,,,,,,库和框架是一个意...

  • 原生小程序和 mpvue对比(开发前)

    一.介绍 原生小程序:利用微信官方给出的框架,组件,API开发的小程序。 mpVue :利用Vue.js前端框架开...

  • js判断移动设备 并跳转到连接

    原生js不需要引入其他js###

  • 如何开发jQuery插件&js文档加载完毕的几种写法

    js文档加载完毕有哪几种写法 1:js加载完毕有哪几种写法 一、当不引入jQuery框架,只写原生JS代码时,需要...

  • require.js 使用方法

    0x01 require.js 要解决的问题 在前端开发中我们需要引入大量的js脚本,在引入过程中需要保证引入的顺...

  • layui简单使用

    经典模块化前端框架 (js引入模块,绑定dom直接使用) 1.官网下载解压使用2.建立自己html文件3.引入cs...

  • 阿里云滑动验证

    滑动验证交互样式 前端集成 在页面中引入插件js 集成demo 后端下载SDK并进行验证(PHP + CI框架) ...

网友评论

    本文标题:引入前端框架,原生js失效问题

    本文链接:https://www.haomeiwen.com/subject/xdtspxtx.html