js append点击事件不生效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js append点击事件不生效相关的知识,希望对你有一定的参考价值。

参考技术A success: function (t)
$.each(t.data, function (i, data)
// 遍历 t.data 是数组
$("#text").append( // text 父div 的id 此处注意,在append点击时间不生效的时候 需要(""+i+"")这个形式;
"<div class='textLineImg-bottom'>" +
"<div class='textLeftImgCar' onclick='detail(""+i+"")'>"
+ t.data[i].car_plate_number + "</div></div>");
);
简单来说就是注意转义字符的使用

vue获取验证码倒计时,自定义组件点击事件不生效的问题

说明:部分组件使用的是element-ui

子组件

<template>
  <div class="count-down">
    <el-button type="primary" size="small" style="width:80px;" :disabled="disabled || time > 0">
      {{ text }}
    </el-button>
  </div>
</template>

<script type="text/javascript">
export default {
  data() {
    return {
      time: 0
    };
  },
  props: {
    second: {
      type: Number,
      default: 5
    },
    disabled: {
      type: Boolean,
      default: false
    }
  },
  methods: {
    run: function() {
      this.time = this.second;
      this.timer();
    },
    timer: function() {
      if (this.time > 0) {
        this.time--;
        setTimeout(this.timer, 1000);
      }
    }
  },
  computed: {
    text: function() {
      return this.time > 0 ? this.time + "s" : "获取验证码";
    }
  }
};
</script>

父组件

<template>
    <div>
        <count-down :disabled="disabled" @click="send" ref="btn"></count-down>
    </div>
</template>    

export default {
        data () {
                return {
                    disabled: false
                }
        },
        methods: {
                send: function () {
                    this.disabled = true;
                    setTimeout(this.sended, 1000);
                },
                 sended() {
                    this.$refs.btn.run();
                    this.disabled = false;
                }
        }
}
               

这样写的时候,父组件的click事件是不生效的,在给某个组件监听一个原生事件的时候可以使用v-on的修饰符.native

<count-down :disabled="disabled" @click.native="GetVerifyCode" ref="countDownBtn"></count-down>

这样点击事件就生效了

 

以上是关于js append点击事件不生效的主要内容,如果未能解决你的问题,请参考以下文章

jquery向元素添加点击事件

jquery如何添加动态点击事件?

js循环点击div事件

alert事件点击确认后指定input恢复焦点

jq点击事件不生效,效果只闪现一次又立马消失的原因?

移动端JS父层Touch事件用了冒泡,子层onclick事件不生效