js-with用法

首先,给出个人的理解:with就是为了封装某个对象,减少某个对象的调用

比如:定义一个对象

var a={},a.name='张三';a.sex='女';

一般的调用方式

console.log(a.name);

console.log(a.sex);

使用with之后的调用

with(a){  

  console.log(name);

  console.log(sex);

}

以下给出示例代码

 <div id='div1'>test</div>
    <script>
    var a = {};
    a.aa = 1;
    a.bb = 2;
    a.cc = 3;
    with(a) {
        console.log(aa);
        console.log(bb);
        console.log(cc);
    }
    var b = function() {
        this.a = 111;
        this.b = 222;
    }
    b.prototype.test = function(param) {
        this.a = param;
        console.log(this.a)
    };
    with(new b()) {
        test('just for test');
    }
    var div1 = document.getElementById('div1');
    with(div1.style) {
        width = '200px';
        height = '300px';
        background = 'red';
        color = 'white';
    }
    </script>

示例结果

 

转载于:https://www.cnblogs.com/benchan2015/p/5057314.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`vue-table-with-tree-grid` 是一个基于 Vue.js 的表格树插件,支持树形结构的展示和操作。`row-contextmenu` 是该插件提供的一个事件,用于在表格的某一行上右击鼠标时触发。你可以在这个事件中定义你自己的逻辑,比如显示一个自定义的右键菜单。 下面是一个 `vue-table-with-tree-grid` 的示例代码,演示如何使用 `row-contextmenu` 事件: ```html <template> <div> <VueTableWithTreeGrid :data="data" :columns="columns" :row-contextmenu="handleRowContextMenu" /> </div> </template> <script> import VueTableWithTreeGrid from 'vue-table-with-tree-grid' export default { components: { VueTableWithTreeGrid }, data() { return { data: [ // your data ], columns: [ // your columns ] } }, methods: { handleRowContextMenu(row, event) { // your logic here } } } </script> ``` 在上面的代码中,`handleRowContextMenu` 方法会在用户右击某一行时被调用,方法的参数 `row` 表示被右击的行的数据,`event` 表示鼠标右击事件。 你可以在这个方法中定义你自己的逻辑,比如显示一个自定义的右键菜单。例如,下面是一个简单的示例代码,当用户右击某一行时,会在控制台输出该行的数据: ```javascript handleRowContextMenu(row, event) { console.log(row) } ``` 如果你想显示一个自定义的右键菜单,可以使用原生的 `contextmenu` 事件和 CSS 样式来实现。例如,下面是一个示例代码,当用户右击某一行时,会在页面上显示一个自定义的右键菜单: ```html <template> <div> <VueTableWithTreeGrid :data="data" :columns="columns" :row-contextmenu="handleRowContextMenu" /> <div v-if="showContextMenu" :style="{ top: contextMenuTop + 'px', left: contextMenuLeft + 'px' }" @click="handleContextMenuClick" > <div>菜单项 1</div> <div>菜单项 2</div> <div>菜单项 3</div> </div> </div> </template> <script> import VueTableWithTreeGrid from 'vue-table-with-tree-grid' export default { components: { VueTableWithTreeGrid }, data() { return { data: [ // your data ], columns: [ // your columns ], showContextMenu: false, contextMenuTop: 0, contextMenuLeft: 0 } }, methods: { handleRowContextMenu(row, event) { event.preventDefault() this.showContextMenu = true this.contextMenuTop = event.clientY this.contextMenuLeft = event.clientX }, handleContextMenuClick() { this.showContextMenu = false } } } </script> <style scoped> div { user-select: none; } </style> ``` 在上面的代码中,当用户右击某一行时,会在页面上显示一个自定义的右键菜单。当用户点击菜单项时,菜单会被隐藏。菜单的位置使用 `contextMenuTop` 和 `contextMenuLeft` 变量控制。CSS 样式中的 `user-select: none` 表示禁止文本被选中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值