精华内容
下载资源
问答
  • vue @click.native和@click.stop和@click.self

    万次阅读 多人点赞 2019-05-10 17:02:11
    参考一: vue @click.native 原生点击事件: 1,给vue组件绑定事件时候,... 子组件内部处理click事件然后向外发送click事件:$emit("click".fn) 参考二: 在事件处理器中经常需要调用event.preventDefault()...

    参考一:

    vue @click.native 原生点击事件:

    1,给vue组件绑定事件时候,必须加上native ,不然不会生效(监听根元素的原生事件,使用 .native 修饰符)

    2,等同于在自组件中:

       子组件内部处理click事件然后向外发送click事件:$emit("click".fn)

    参考二:

    在事件处理器中经常需要调用 event.preventDefault() 或 event.stopPropagation()。尽管我们在方法内可以轻松做到,不过让方法是纯粹的数据逻辑而不处理 DOM 事件细节会更好。

    为了解决这个问题,Vue.js 为 v-on 提供两个 事件修饰符:.prevent 与 .stop。你是否还记得修饰符是点号打头的指令后缀?


    <!-- 阻止单击事件冒泡 -->

    <a v-on:click.stop="doThis"></a>


    <!-- 提交事件不再重载页面 -->
    <form v-on:submit.prevent="onSubmit"></form>


    <!-- 修饰符可以串联 -->
    <a v-on:click.stop.prevent="doThat">


    <!-- 只有修饰符 -->
    <form v-on:submit.prevent></form>


    参考三:

    <!-- 阻止单击事件继续传播 -->

    <a v-on:click.stop="doThis"></a>

     

    <!-- 提交事件不再重载页面 -->

    <form v-on:submit.prevent="onSubmit"></form>

     

    <!-- 修饰符可以串联 -->

    <a v-on:click.stop.prevent="doThat"></a>

     

    <!-- 只有修饰符 -->

    <form v-on:submit.prevent></form>

     

    <!-- 添加事件监听器时使用事件捕获模式 -->

    <!-- 即元素自身触发的事件先在此处理,然后才交由内部元素进行处理 -->

    <div v-on:click.capture="doThis">...</div>

     

    <!-- 只当在 event.target 是当前元素自身时触发处理函数 -->

    <!-- 即事件不是从内部元素触发的 -->

    <div v-on:click.self="doThat">...</div>

    使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,

    用 v-on:click.prevent.self 会阻止所有的点击

    而 v-on:click.self.prevent 只会阻止对元素自身的点击

    <!-- 点击事件将只会触发一次 -->
    <a v-on:click.once="doThis"></a>

    不像其它只能对原生的 DOM 事件起作用的修饰符,.once 修饰符还能被用到自定义的组件事件上。如果你还没有阅读关于组件的文档,现在大可不必担心。

    Vue 还对应 addEventListener 中的 passive 选项提供了 .passive 修饰符。

    <!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 -->
    <!-- 而不会等待 `onScroll` 完成  -->
    <!-- 这其中包含 `event.preventDefault()` 的情况 -->
    <div v-on:scroll.passive="onScroll">...</div>

    这个 .passive 修饰符尤其能够提升移动端的性能。

    不要把 .passive 和 .prevent 一起使用,因为 .prevent 将会被忽略,同时浏览器可能会向你展示一个警告。请记住,.passive 会告诉浏览器你想阻止事件的默认行为。

    参考四:

    关于路由的跳转,如果我们直接页面使用a标签,当然无可厚非;

    但是既然是vue单页面,那么我们就应该能使用vue自带的组件,那就尽量去熟练它们。

    页面交互

    <router-link to="/" @click.native.prevent="clickTag">
      test has native router-link 
    </router-link>
    //在上面那种情况下,路由会跳转到首页,并且控制台也会打印出
    
    <router-link to="/" @click="clickTag">
      test no native router-link 
    </router-link>
    //在上面那种情况下,路由只会跳转到首页,控制台毫无反应
    //ps:@mouseover、@mouseout等等事件都如此
    <script>
    export default {
      methods: {
        clickTag() {
          console.log('i am click in father.vue')
        }
      }
    }
    </script>
    

    上面那种是vue自带的组件情况,如果是自定义组件的话,native修饰符在我眼里,起到了节约代码的作用。

    父组件

    <svg-icon icon-class="user" @click="svgClickTag"></svg-icon>
    //js methods部分
    svgClickTag() {
      console.log('svg-icon click in father.vue')
    }
    

    子组件:要想实现父组件内的点击事件,子组件必须监听点击并触发父组件定义的click

    <svg :class="svgClass" aria-hidden="true" @click="clickSvgComponent">
      <use :xlink:href="iconName"></use>
    </svg>
    //js methods部分
    clickSvgComponent() {
      this.$emit('click')
    }
    

    如果有了native修饰符,那就没有子组件什么事情了

    //子组件照常写,不作任何事件绑定,删掉methods
    <svg :class="svgClass" aria-hidden="true">
      <use :xlink:href="iconName"></use>
    </svg>
    
    //父组件
    <svg-icon icon-class="user" @click.native="svgClickTag"></svg-icon>
    

    针对vue-element-ui中的el-button

    <el-button type="primary" style="width: 100%;" :loading="loading" 
     @click.native.prevent="handleLogin">Sign in</el-button>
    //个人认为这个库已经这某些地方把原生的click做了处理了,因为尝试过去掉native,照常成功
    

    总结:native就是把组件变回原生DOM的一种方式,相当于给组件绑定原生事件。

     

     

     

    展开全文
  • mui click无效,click没反应

    html 部分代码:

    <li id="aside_my" class="mui-table-view-cell">
        <a class="mui-navigate-right">我的</a>
    </li>

    javascript 部分代码:

    //错误代码
    $('#aside_my').on('click', function() {    
        alert("我被点了");
    });

    click只针对button类控件好使,这是js的功能
    而本例中 是 对 li 元素监听,所以 click失效,应该使用mui封装的 tap 来实现
    所以javascript部分代码 ‘click’ 换成 ‘tap’就可以了,如下:

    //正确代码
    $('#aside_my').on('tap', function() {  
        alert("我被点了");
    });
    展开全文
  • 1、绑定监听@click:(以监听click为例,其他如keyup,用法类似)  v-on:click="fun"  @click="fun"  @click="fun(参数)" &lt;button @click="test1"&gt;test...

    1、绑定监听@click:(以监听click为例,其他如keyup,用法类似)
      v-on:click="fun"
      @click="fun"
      @click="fun(参数)"

      <button @click="test1">test1</button>
      <button @click="test2('abc')">test2</button>
      <button @click="test3('abcd', $event)">test3</button>
    
      methods: {
          test1(eve) {//test1函数没有参数,默认传递 $event 
            alert(eve.target.innerHTML)  //test1
          },
          test2 (msg) { //test1函数有参数,传递该参数
            alert(msg)  // abc
          },
          test3 (msg, event) { //有参数,如果想获取到enevt,则函数中需要写 $event
            alert(msg+'---'+event.target.textContent)  // abcd---test3
          }
       }

    2、@click.stop与@click.prevent

    @click.stop 阻止事件冒泡

    @click.prevent 阻止事件的默认行为,

    <a href="http://www.baidu.com" @click.prevent="test4">百度一下</a>   //阻止a标签跳转,仅执行函数test4

    <form  action="/xxx"   @submit.prevent="test5">   //阻止表单提交,仅执行函数test5

             <input type="submit" value="注册">
    </form>

    3、按键修饰符

    @keyup.enter

    //按下enter时,执行方法test7

    <input type="text" @keyup.enter="test7">

    methods: {

          test7 (event) {
            console.log(event.keyCode)
            alert(event.target.value)
          }

    }

    展开全文
  • vue click.stop阻止点击事件继续传播

    万次阅读 2017-11-14 18:36:18
    <div v-on:click="dodo"> <button v-on:click="doThis">阻止单击事件继续传播 </div> var app = new Vue({ el: "#app",
    <div id="app">
            <div v-on:click="dodo">
                <button v-on:click="doThis">阻止单击事件继续传播</button>
            </div>
        </div>
    
        <script>
            var app = new Vue({
                el: "#app",
                data: {
                    name: "Vue.js"
                },
                methods: {
                    doThis: function () {
                        alert("noclick");
                    },
                    dodo: function () {
                        alert("dodo");
                    }
                }
            });
        </script>
    

    将会先弹出“noclick”,再弹出“dodo”。

       <div id="app">
            <div v-on:click="dodo">
                <button v-on:click.stop="doThis">阻止单击事件继续传播</button>
            </div>
        </div>
    
        <script>
            var app = new Vue({
                el: "#app",
                data: {
                    name: "Vue.js"
                },
                methods: {
                    doThis: function () {
                        alert("noclick");
                    },
                    dodo: function () {
                        alert("dodo");
                    }
                }
            });
        </script>
    

    只弹出“noclick”

    展开全文
  • @click和@click.native

    千次阅读 2020-04-16 12:11:41
    如果是普通的html,使用@click就可以触发。 如果使用组件和路由,在router-link标签中就需要使用@click.native。不然就只会跳转而不会触发事件。
  • 解决Invalid handler for event “click“:问题

    万次阅读 热门讨论 2019-03-28 21:15:24
    解决Invalid handler for event "click":问题 上一篇文章介绍了如何搭建一个基于vue和ElementUi 的项目,当我在项目中添加 一个button按钮,并未这个按钮添加一个@click事件 <el-button type="primary" icon=...
  • 初学 Click 路由器

    千次阅读 2019-06-19 15:03:03
    Click路由器的官方网址已经崩了 唯一途径就是github :https://github.com/kohler/click git clone下载源码 make make install后也不懂如何使用 看到文档中说 doc/click.5描述了怎么写配置文件 打开click.5...
  • python click

    千次阅读 2015-09-08 10:28:16
    What’s click ? http://click.pocoo.org/3/ Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. It’s the “Command Line ...
  • python click 函数

    千次阅读 2019-06-04 15:54:04
    Click模块 click模块是Flask的作者开发的一个第三方模块,用于快速创建命令行。它的作用与Python标准库的argparse相同,但是,使用起来更简单。 click是一个第三方库,因此使用起来需要先行安装 安装click模块 ...
  • Click Notes II - Click Script Language

    千次阅读 2015-01-09 01:12:37
    The Click programming language was developed to configure Click routers, but nowadays you also can use it to write test cases for Click elements. Basic SyntaxElement GroupCompound ...
  • .click()与on('click',function())

    万次阅读 2018-10-17 21:34:25
    之前遇到过一次.click()无效,改成on绑定click就好了的情况,看了几篇博客后,发现是自己对click()和on的理解不够,没太在意,最近又遇到了,所以写下这篇博客加深印象。 $(选择器).click(fn):当选中的选择器被...
  • jquery移除click事件

    万次阅读 2018-10-18 10:45:02
    1、第一种定义click时间的方法是在标签内部加上onclick的属性如下 &lt;input id = "demoId" type="button" onclick="demoFunction();" value="单击事件"/&gt; ...
  • 同时绑定click和double click冲突的问题

    千次阅读 2018-03-09 19:33:28
    click":fn,"dblclick":fn});$("abc").click(fn).dblclick(fn)目前的问题是无论双击或者单击都只执行单击的function,为什么呢? 下面我们说一下双击的机制:双击(dblclick)的流程是:...
  • jquery 中click事件怎么传递绑定click事件的元素本身,也就是传递我点击的那个元素。
  • 这个问题是在做一个聊天界面时出现的 想要的效果是点击左侧的头像时,获取其对应的id,之后在...分析后发现每次点击外部的click事件后,内部的click事件都会绑定一次,因此会遍历很多次 解决方案是每次点击后使...
  • $(table).click(function(){ alert(1) }) $(table tbody tr).click(funtion(){ alert(2)}) 这样子只会alert(1) 不会弹出2 有啥办法让他们都执行吗
  • 不过jquery就有一个非常简单好用的click()或者trigger('click')方法来模拟点击事件这两个方法可以说是非常简单好用了。但是这里我其实要说的是这个方法的一点问题。问题出现的场景是:当某个元素的点击事件...
  • uniapp click语法

    千次阅读 2019-04-03 22:45:53
    一般事件都加的是@click onNavigationBarSearchInputClicked(e) { console.log("事件执行了") uni.navigateTo({ url: '/pages/common/search/search' }); }, methods: { goSearchPage(path){ ...
  • jquery的click笔记

    万次阅读 2018-12-26 18:56:58
    // Auto listCustomers $(document).ready( function () { ...listCustomer click..."); $("#listCustomers").click(); } ); // List customers $("#listCustomers").click( ...
  • click和tap事件

    千次阅读 2019-04-03 11:26:53
    click和tap事件的区别 click事件 click事件是pc端的单机事件,但是当这个事件在移动端实现的时候,会出现延迟300ms的现象,所以移动端一般用tap来代替click。 tap事件 tap可以减少click在移动端的延迟,提高了性能。...
  • jq的.click().on('click')

    千次阅读 2018-12-04 08:41:18
    $(selector).on('click',function(){ }); 支持动态绑定元素,即页面上元素有添加或变化后仍可绑定,前提是selector须是目标绑定元素的父元素,如绑定body里的动态li元素: $('body).on('click','ul li',...
  • Python——click模块

    千次阅读 2019-08-24 15:09:47
    Click是Flask的开发团队Pallets的另一款开源项目,它是用于快速创建命令行的第三方模块。 我们知道,Python 内置了一个Argparse的标准库用于创建命令行,但使用起来有些繁琐,Click相比于Argparse,就好比requests...
  • @click=batchRemove没有括号时 batchRemove:function(可能有隐含的默认得参数可以获取){} 而一旦写了括号就不能有隐含得参数,你可以传一定的已知的参数 ...
  • 网络上的方法都试过了,还是不行, 于是重复了下命令 pip install click ...于是去查看了下e:\anaconda3\lib\site-packages,发现里边并没有click文件,于是通过其他软件搜索到click文件,将这个文件
  • click 开源软件下载 这里简单介绍一下click路由器,并说明如何下载。 click简介 出处 Click路由系统由美国MIT大学Eddie Kohler博士生在2000年完成原型开发,由MIT计算机技术系并行与分布式操作系统实验...
  • 解决blur与click冲突

    万次阅读 多人点赞 2016-06-26 22:09:46
    在开发中我们会经常遇到blur和click冲突的情况。下面叙述了开发中常遇到的“下拉框”的问题,并提供了两种解决方案。一、blur和click事件简述 blur事件:当元素失去焦点时触发blur事件;其为表单事件,blur和focus...
  • openlayers click事件覆盖

    2017-06-26 09:06:44
    selectClick.on("select", ClickEvent); map.addInteraction(selectClick); } } }); 在openlays3中,将geojson中的数据分成n个图层,然后给每个图层添加鼠标移动事件是可行的,但是将...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 279,734
精华内容 111,893
关键字:

click