javascript - element ui的el-input如何监听回车键。
阿神
阿神 2017-05-19 10:46:36
[JavaScript讨论组]

官方暴露的事件中貌似没有enter事件,然后直接在el-input上写@keyup.enter也没能捕抓到事件,望大神赐教~~

阿神
阿神

闭关修行中......

全部回复(5)
漂亮男人

@keyup.enter.native

怪我咯

<el-input type="password" v-model="loginForm.password" placeholder="密码" @keyup.enter.native="loginSubmit"></el-input>

@keyup.enter.native就可以触发了

仅有的幸福

element-ui api中表示 并没有onkeyup这个事件 所以 建议还是换input 如果非得用这个事件的话

PHPz

同意@CoquettishPoppy的观点,建议撸个原生input吧,样式写个相似的。

为情所困
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <link href="http://cdn.bootcss.com/element-ui/1.2.7/theme-default/index.css" rel="stylesheet" />
</head>
<body>
    <p id="app">
        <el-input v-model="input" v-enter @enter.native="log" placeholder="请输入内容"></el-input>
    </p>

    <script src="http://cdn.bootcss.com/vue/2.1.0/vue.min.js"></script>
    <script src="http://cdn.bootcss.com/element-ui/1.2.7/index.js"></script>

    <script>
        Vue.directive('enter', {
            bind: function (el, binding, vnode) {
                const input = el.getElementsByTagName('input')[0];

                input.addEventListener('keypress', function (e) {
                    var key = e.which || e.keyCode;

                    if (key === 13) { // 13 is enter
                        // code for enter
                        el.dispatchEvent(new Event('enter'))
                    }
                })
            },
            unbind: function (el, binding, vnode) {

            }
        })

        new Vue({
            el: '#app',
            data() {
                return {
                    input: null
                }
            },
            methods: {
                log() {
                    console.log(this.input)
                }
            }
        })
    </script>
</body>
</html>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号