vue & button & refs & click & bug
vue & button & refs & click & bug
$refs.btn.click()???
vue & refs
$refs.btn.$emit("click")
https://vuejs.org/v2/api/#vm-refs
https://vuejs.org/v2/api/#ref

$emit("click") & click()
ok
https://codepen.io/webgeeker/pen/rPQyMN?editors=1010

https://codepen.io/webgeeker/pen/BMGWmq?editors=1010

bug
https://codepen.io/webgeeker/pen/vbQxZW?editors=1010

vue & emit
https://vuejs.org/v2/api/#vm-emit
this.$refs.btn.$emit("click"')
this.$refs.inputResult.$emit('click')
http://www.imooc.com/wenda/detail/418881

OK
vue & keyboard Shortcut Keys

// shortcut keys
keyboardShortcutKeys() {
// // operType: "1",// 0 上一页; 1 下一页
let that = this;
// bug ??? range conflict ???
let body = document.querySelector(`body`);
// let body = document.querySelector(`[data-body="common-handle"]`);
let bindFlag = body.dataset.bindFlag;
if (bindFlag === "true") {
// console.log(`only need binding once!`);
} else {
body.dataset.bindFlag = "true";
// bind once
body.addEventListener("keyup", function(e) {
let key = e.which || e.keyCode;
if(e.which === 17) {
// init
this.isCtrlPressed = false;
}
});
body.addEventListener("keydown", function(e) {
let key = e.which || e.keyCode;
if(e.which === 17) {
this.isCtrlPressed = true;
}
let isCtrl = this.isCtrlPressed;
if(e.which === 83 && isCtrl) {
if (that.onClickButton) {
that.onClickButton(`save`);
}
}
if(e.which === 68 && isCtrl) {
if (that.clickGetNewsInfos) {
if (!that.isFirstNews) {
// that.clickGetNewsInfos(`prev`);
// that.$refs.commom_handle_prev.click();
that.$refs.commom_handle_prev.$emit("click");
// that.$refs["commom_handle_prev"].click();
console.log(`prev btn click ok!`);
} else {
// btn bug
console.log(`prev btn bug!`);
}
}
}
if(e.which === 70 && isCtrl) {
if (that.clickGetNewsInfos) {
if (!that.isLastNews) {
// that.clickGetNewsInfos(`next`);
// that.$refs.commom_handle_next.click();
that.$refs.commom_handle_next.$emit("click");
// that.$refs["commom_handle_next"].click();
console.log(`next btn click ok!`);
} else {
// btn bug
console.log(`next btn bug!`);
}
}
}
if(e.which === 88 && isCtrl) {
if (that.clickShowResureModal) {
that.clickShowResureModal(`passed`);
}
}
});
}
},
vue & button & refs & click & bug的更多相关文章
- vue & template & v-else & v-for bug
vue & template & v-else & v-for bug nested table bug https://codepen.io/xgqfrms/pen/wvaG ...
- Xamarin for android:为button设置click事件的几种方法
原文:Xamarin for android:为button设置click事件的几种方法 在Xamarin中一个最基础的事情,就是为一个button指定click事件处理方法,可是即使是这么一件事也有 ...
- vue中$refs的使用
vue中$refs获取组件或元素: 获取的元素就相当于是一个原生获取的元素,可以进行操作 this.$refs.ele.style.color = 'red
- vue & lifecycle methods & this bug & ES6 Arrow function & this bind bug
vue & lifecycle methods & this bug ES6 Arrow function & this bind bug bad fetchTableData ...
- jq动态增加的button标签click回调失效的问题,即动态增加的button标签绑定事件$("button.class").click(function)无效
对于新增加的页面元素,改变了页面结构,如果是使用老办法$("button.class").click(function)去监听新的button标签事件,会失效. 笔者的应用是文字的 ...
- Button的Click事件与js函数的两种不同顺序触发方式
先运行js.或者先运行Click事件,近期就遇到了这个问题,開始弄了两个button分别运行,那才叫一个蛋疼... 1.先运行js,再运行Button的Click函数 <asp:Button I ...
- vue 阻止冒泡 @click.stop=
vue 阻止冒泡 @click.stop= vue中处理冒泡标准姿势 事件修饰符 Vue.js 为 v-on 提供了事件修饰符,修饰符是由点开头的指令后缀来表示的.这些事件修饰符主要有以下几个: st ...
- vue watch & arrow function bug
vue watch & arrow function bug watch: { GeoJSON: function(newValue, oldValue) { log(`\n\n\nGeoJS ...
- vue.js $refs和$emit 父子组件交互
父调子 $refs (把父组件的数据传给子组件) <template> <div id="app"> <input type="butto ...
随机推荐
- tornado-About Web
1.轻量级的web开发框架,没有像django那样的命令行工具,只用于写一些小的脚本 (1)安装tornado包 pip intall tornado # conda install tornado( ...
- 洛咕 P4528 [CTSC2008]图腾
洛咕 P4528 [CTSC2008]图腾 神题orz. 先约定abcd表示\(1\leq A<B<C<D\leq n\),而且\(y_a,y_b,y_c,y_d\)的排名正好是\( ...
- 关于判断用户输入的是不是int类型,这次没有正则表达式
末尾没有目的地的出租车,污点证人禁止入内!!! 不同的尝试有不同的方法 关于int类型的判断,我尝试了这么一个方法,可行,只是笨 正则表达式我没有搞清楚,没办法给大家讲解,欢迎各位明白人讲解,或者是我 ...
- Map.containsKey(String key)
判断key有没有对应的value值有,返回true无,返回false
- 初学者下载使用Python遇到的问题看它就行了
首先在python管网(www.python.org)中找到对应的版本与系统,以(window7系统64位python3.7.3为例) 打开电脑--打开浏览器--输入www.python.org--d ...
- JMeter的__threadGroupName使用注意事项
JMeter从4.1版本开始引入了一个新函数"${__threadGroupName}",这个函数的作用是返回当前线程组的名字.${__threadGroupName}的用途也较为 ...
- python爬虫beautifulsoup4系列1
前言 以博客园为例,爬取我的博客上首页的发布时间.标题.摘要,本篇先小试牛刀,先了解下它的强大之处,后面讲beautifulsoup4的详细功能. 一.安装 1.打开cmd用pip在线安装beauti ...
- Xshell6远程访问linux及Xftp6远程针对linux系统中文件操作(附图文详解)
1.首先我们需要先做好前期准备工作,需要到XManager6官网上将Xshell及Xftp下载并安装,安装过程一直下一步就好了.这里是其官网:http://www.xshellcn.com/.安装完成 ...
- Unity学习笔记(5):动态加载Prefab
第一种方法,从Resources文件夹读取Prefab Assets/Resources文件夹是Unity中的一个特殊文件夹,在博主当前的认知里,放在这个文件夹里的Prefab可以被代码动态加载 直接 ...
- js数组知识点总结及经典笔试题
1.判断数组 这是笔试里经常会出现的知识考察点,总结一下 (1)Array.isArray()方法判断 var a=[]; Array.isArray(a) //返回true var b='hello ...