jquery.jstree 增加节点的双击事件代码_jquery
jsTree 是基于jquery的树插件,支持拖放、复制、删除、快捷键、多选、自定义节点图标、自定义右键菜单、跨页面保存状态等等,总之我想到的它基本上都有了,而且最值得表扬的是它让人感觉一点都不慢哦。
jsTree有节点选择事件,即
.bind("select_node.jstree", function(e, data) {
//alert(data.rslt.obj.attr("id") + ":" + data.rslt.obj.attr("rel"));
})
其实我认为它更像是节点的单击事件,因为每次点节点的时候它都会触发,不管之前该节点是否已经被选中。
近日做个文件管理的东东,需要用到节点的双击事件,如双击某个节点打开该节点的编辑页面。

jstree虽然有双击事件,但是并非针对节点的,而是你双击树所在区域就会触发,如上图任何一个地方。
离节点双击事件最接近的应该就是节点选择事件,因此又是“照葫芦画瓢”啦。
分析
在第833行 this.get_container() 后是节点的单击事件
.delegate("a", "click.jstree", $.proxy(function (event) {
event.preventDefault();
this.select_node(event.currentTarget, true, event);
}, this))
同样我再这里插入节点双击事件
.delegate("a", "dblclick.jstree", $.proxy(function(event) {
event.preventDefault();
this.dblclick_node(event.currentTarget, true, event);
}, this))
接着,我再实现 dblclick_node 方法就可以了。
在第928行找到 select_node 的代码,比较复杂。但里面90%对于双击来说是没有用处的,如处理单选、多选、保存选择结果到cookies等。因此 dblclick_node 方法的实现要比 select_node 简单很多。
dblclick_node: function(obj, check, e) {
obj = this._get_node(obj);
if (obj == -1 || !obj || !obj.length) { return false; }
this.__callback({ "obj": obj });
},
OK,就这样了。
使用例子
跟 select_node 用法一样
.bind("dblclick_node.jstree", function(e, data) {
//alert(data.rslt.obj.attr("id") + ":" + data.rslt.obj.attr("rel"));
})
改造后的代码下载 /201007/yuanma/jquery.jstree.rar
顺便说说
jstree 跟另一个插件jquery validate 是水火不容的,当两者共存时,jstree虽然也可以构造树出来,但如僵尸一般不能展开。这里mark一个,日后试试能否修改。
作者:Bruce(编程的艺术世界)

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila melakukan pengaturcaraan komputer, kadangkala adalah perlu untuk mencari berat minimum subpokok yang berasal dari nod tertentu, dengan syarat subpokok tidak boleh mengandungi nod yang lebih daripada unit D dari nod yang ditentukan. Masalah ini timbul dalam pelbagai bidang dan aplikasi, termasuk teori graf, algoritma berasaskan pokok, dan pengoptimuman rangkaian. Subpokok ialah subset struktur pokok yang lebih besar, dengan nod yang ditentukan berfungsi sebagai nod akar subpokok. Subpohon mengandungi semua keturunan nod akar dan tepi penghubungnya. Berat nod merujuk kepada nilai khusus yang diberikan kepada nod itu, yang boleh mewakili kepentingan, kepentingan atau metrik lain yang berkaitan. Dalam masalah ini, matlamatnya adalah untuk mencari berat minimum antara semua nod dalam subpokok sambil mengehadkan subpokok kepada nod yang paling banyak unit D dari nod akar. Dalam artikel berikut, kita akan menyelidiki kerumitan perlombongan pemberat minimum daripada subpokok

Bagaimana untuk melaksanakan fungsi salinan dan potong nod peta minda melalui Vue dan jsmind? Peta minda ialah alat pemikiran biasa yang boleh membantu kita menyusun pemikiran kita dan menyusun logik pemikiran kita. Fungsi salin dan potong nod adalah operasi yang biasa digunakan dalam peta minda, yang membolehkan kami menggunakan semula nod sedia ada dengan lebih mudah dan meningkatkan kecekapan organisasi berfikir. Dalam artikel ini, kami akan menggunakan dua alat Vue dan jsmind untuk melaksanakan fungsi salinan dan potong nod peta minda. Pertama, kita perlu memasang Vue dan jsmind dan buat

Kaedah untuk memadam nod dalam js ialah: 1. Kaedah removeChild() digunakan untuk mengeluarkan nod anak yang ditentukan daripada nod induk Ia memerlukan dua parameter Parameter pertama ialah nod anak untuk dipadamkan, dan parameter kedua ialah nod induk. 2. Kaedah parentNode.removeChild() boleh dipanggil terus melalui nod induk untuk memadamkan nod anak; Atribut innerHTML digunakan untuk memadam kandungan nod.

C++ mempunyai makro, yang ditakrifkan sebagai sekeping kod atau nilai yang dijangkakan, dan ia akan digunakan semula apabila pengguna memerlukannya. Algoritma Floyd-Walshall ialah proses mencari laluan terpendek antara semua pasangan bucu dalam graf berwajaran tertentu. Algoritma mengikut pendekatan pengaturcaraan dinamik untuk mencari graf berat minimum. Marilah kita memahami maksud algoritma Floyd-Walshall melalui rajah - ambil bucu 1 sebagai sumber dan bucu 4 sebagai destinasi dan cari laluan terpendek di antara mereka. Kami telah melihat bahawa terdapat dua laluan yang boleh disambungkan ke bucu sasaran 4. 1->4 – tepi mempunyai berat 51->8->3->4 – berat tepi (1+2+1) ialah 4. Dalam graf I yang diberikan, kita melihat tepi terkecil yang menghubungkan dua bucu. Jadi di sini puncaknya

Artikel ini terutamanya memperkenalkan cara membuat, memadam, menambah dan menggantikan nod elemen dalam js. Saya harap ia akan membantu rakan yang memerlukan!

Untuk menyemak sama ada laluan yang diberikan antara dua pusat graf mematuhi laluan terpendek, ini boleh dikira dengan membandingkan keseluruhan berat tepi sepanjang laluan yang diberikan kepada jarak terpendek antara gabungan pusat yang sama menggunakan laluan terpendek yang boleh dipercayai, seperti Pengiraan Dijkstra atau pengiraan Floyd−Warshall. Jika semua pemberat tepi pada laluan tertentu sepadan dengan pemadaman paling terhad, maka ia mewakili laluan paling mudah. Juga: Jika berat tepi keseluruhan lebih menonjol daripada jarak terpendek, ini menunjukkan bahawa terdapat jarak pendek antara dua pusat dalam graf. Kaedah Digunakan Algoritma Dijkstra Floyd−Warshall Algorithm dengan Kos Pembalikan Tepi Algoritma Greedy Pengiraan Dijkstra mungkin merupakan pengiraan traversal graf yang popular.

OpenAI ialah nod (walaupun nod penting) dalam dunia dialog robot-robot, tetapi ia bukan pusatnya. ChatGPT telah melancarkan mekanisme Plugin, yang merupakan perkembangan yang sangat menarik. Semua orang sebulat suara mengulas bahawa "sistem pengendalian telah dilahirkan." Kenyataan ini adalah salah sama sekali. OpenAI ialah nod (walaupun nod penting) dalam dunia dialog robot-robot, tetapi ia bukan pusatnya. Saya sentiasa mempunyai gambaran dalam fikiran saya: dunia di mana robot bercakap dengan robot. Orang ramai berbual dengan robot dan membiarkan robot membantu manusia menyelesaikan tugas melalui rakan robotnya. Pemalam ChatGPT menunjukkan dunia dengan sempurna

Diberi n nod, tugasnya adalah untuk mencetak nod ke-n pada penghujung senarai terpaut. Program ini tidak boleh mengubah susunan nod dalam senarai, tetapi hanya boleh mencetak nod ke-n dari nod terakhir senarai terpaut. Contoh Input-:102030405060 N=3Output-:40 Dalam contoh di atas, bermula dari nod pertama, traverse ke count-n nod, iaitu, 10,2030,40,50,60, jadi nod ketiga hingga terakhir ialah 40 . Daripada merentasi keseluruhan senarai dengan begitu cekap pendekatan yang boleh anda ikuti - dapatkan penunjuk sementara untuk, katakan, temp jenis nod tetapkan penunjuk sementara ini ke nod pertama yang ditunjuk oleh penuding kepala untuk menetapkan pembilang kepada yang dalam senarai
