Asked Jun 4th, 4:05 AM 88 0 4
  • 88 0 4
0

Mirror hoàn toàn 1 thẻ input ?

Share
  • 88 0 4

Có thể Tiêu đề hơi khó hiểu 1 chút ạ. Mình xin nói chi tiết hơn:

Liệu có cách nào để :

ta có 2 thẻ input #no1 và #no2 , khi nhập dữ liệu vào #no1 thì cũng truyền vào #no2 (cái này dễ rồi) , đồng thời các event xảy ra với #no1(click, keyup..) cũng được xảy ra với #no2 ( #no1.onKeyup(func1) #no2.onKeyup(func2) xảy ra cùng lúc)

😄

4 ANSWERS


Answered Jun 4th, 4:15 AM
0

bạn dùng jquery rồi .trigger() là đc

Share
Lê Tuấn Anh @tuananhbfs
Jun 8th, 6:18 AM

mình sẽ thử xem. thank you

0
| Reply
Share
Answered Jun 4th, 4:42 AM
0
$element.clone(true, true);

nếu ko rõ cần event nào thì dùng cái này, replace lại dom là đc biết rõ thì dùng bind(). mà làm gì có chuyện xảy ra cùng lúc :v

Share
Lê Tuấn Anh @tuananhbfs
Jun 8th, 6:19 AM

mình ko chắc thứ mình muốn có làm dcko, nên đang đi tìm hiểu ạ.

0
| Reply
Share
Answered Jun 4th, 8:18 AM
0

mình nghĩ là
<input id="no#1" onclick="handleClick()" />
<input id="no#2" onclick="handleClick()" />

<script> function handleClic() {} </script>
Share
Nagi @hungpv
Jun 5th, 3:12 AM

dù chung 1 function, nhưng bẹn click cái nào thì function cũng chỉ tác động đến cái đó thôi

còn nếu trong function, bạn bảo nó click luôn cái còn lại thì vô tình lại tạo ra loop vô hạn rồi

0
| Reply
Share
Nguyen Huy Cuong @cuong_nguyen
Jun 5th, 3:56 AM

@hungpv mới khai báo thôi mà, đã làm gì đâu mà tác động với loop vô hạn đc hay thế bạn, bạn trên hỏi làm sao bắt event click ở 2 input chung 1 hàm thôi mà

0
| Reply
Share
Nagi @hungpv
Jun 5th, 6:41 AM

@cuong_nguyen bạn đó muốn even ở #1 cũng xảy ra ở #2 mà, tức là khi #1 được click thì #2 cũng sẽ nhận được sự kiện tương tự

mà tôi cũng không chắc bạn đó hỏi thì khi event ở #2 có truyền trở lại #1 không nữa 😕

tôi hay dùng jquery, nên nó sẽ trông như vậy

$('#1').on('click', function() {
    $('#2').trigger('click');
});

theo ví dụ của bạn, thì nó không truyền event của #1 sang #2, dù chung 1 function, nhưng #1, #2 lại hoạt động hoàn toàn độc lập nhau

0
| Reply
Share
Lê Tuấn Anh @tuananhbfs
Jun 8th, 6:09 AM

ý mình cần nó kích hoạt event của #2 chứ ko phải gọi thêm 1 function cùng lúc. giống như có 2 con chuột cùng click 1 lúc nào 2 nút vậy đó.

0
| Reply
Share
Answered Jun 8th, 6:16 AM
0

Mình xin viết rõ hơn 1 chút nữa: #2 có sẵn sự kiện keyup(dosomething). Khi #1 keyup thì mình muốn #2 cũng xãy ra keyup để dosomething.

dosongthing có thể là bất kỳ gì(coi như mình ko bận tâm cái này), Mình chỉ muốn #2 thật sự xảy ra keyup

Share
Jul 28th, 10:24 AM
<input id="ele1" type="text" onkeyup="onkeyupElement1(event)">
<input id="ele2" type="text" onkeyup="onkeyupElement2(event)">
    <script charset="utf-8">
        let isTrigger = false
        const element1 = document.getElementById("ele1")
        const element2 = document.getElementById("ele2")
        function onkeyupElement1(event) {
            console.log("element1 keyup")
            if (!event) return
            const value = event.target.value
            element2.value = value
            if (!isTrigger) {
                element2.onkeyup()
                isTrigger = true
            } else {
                isTrigger = false
            }
        }
        function onkeyupElement2(event) {
            console.log("element2 keyup")
            if (!event) return
            const value = event.target.value
            element1.value = value
            if (!isTrigger) {
                element1.onkeyup()
                isTrigger = true
            } else {
                isTrigger = false
            }
        }

Không biết đúng ý bạn chưa?, Vấn đề xảy ra ở đây là lúc mình trigger thì lại không lấy được event, bạn có thể search thêm.

+1
| Reply
Share
Lê Tuấn Anh @tuananhbfs
Jul 29th, 3:45 AM
 element2.value = value
            if (!isTrigger) {
                element2.onkeyup()
                isTrigger = true
            }


ở đoạn này sẽ kích hoạt dc onkeyupElement2() nhưng ko có event
0
| Reply
Share
Jul 29th, 4:43 AM

@tuananhbfs Mình có nói đến ở trên r, nhưng nó có thực sự cần thiết k?, bạn sẽ làm gì tiếp theo khi element còn lại đc trigger?

0
| Reply
Share