- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
给定的 HTML:
和 JavaScript 的:
var $test = $('#test');
$test.on('keydown', function(event) {
if (event.keyCode === 9) {
$(event.target).val('change it!');
}
});
$test.on('change', function(event) {
alert('I am not called!');
});
如果我在输入中键入任何内容并点击 tab,为什么 change
事件没有触发? keydown
事件触发,并更新输入的值。
如果我删除 .val()
调用,那么 change
会触发。
起初,我认为这是一个 jQuery 问题(运行 1.9.1),但确认如果我使用纯 JavaScript 会发生相同的行为。
câu trả lời hay nhất
change
仅针对用户提交的更改触发。换句话说,使用 JavaScript 在后台更改元素的值不会触发 change
.
Tab 实际上并没有改变元素的内容;它只是切换焦点。在某些方面,您正在键入 tab 键来更改元素的内容是巧合的(您还不如按一个按钮来间接更新它,这也不会触发 change
)。
The DOM spec解释了为什么在您的特定情况下,如果您键入并按 Tab 键,用户输入将被丢弃并且不会触发任何更改。
具体来说:
The keyboard events defined in this specification occur in a set order relative to one another, for any given key:
- keydown
- keypress (only for keys which produce a character value)
- Any default actions related to this key
- keyup
当您按下 Tab 键时,keydown
被触发。繁荣,你的事件处理程序被调用了!元素内容由您的脚本更新——不会触发任何更改,因为它是脚本执行的。用户贡献的内容被清除。现在是浏览器执行与选项卡关联的默认操作的时候了:将焦点移开并查看元素是否被用户更改(触发 onchange)。不,是剧本改的!没有 change
开火。
因此,如果您删除 val()
行,您会注意到两件事。
change
被触发——没有发生任何变化,因为选项卡不改变字段内容。change
被解雇是因为在那个神奇的“与选项卡相关的默认操作”时刻,浏览器注意到用户做出了更改。哇哦!
关于javascript - keydown 事件(TAB 键)修改元素值时未触发 Change 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18858692/
Lời nói đầu: Đôi khi, một cơ sở dữ liệu có nhiều tài khoản, bao gồm quản trị viên cơ sở dữ liệu, nhà phát triển, nhân viên hỗ trợ vận hành và bảo trì, v.v. Có thể có nhiều tài khoản có quyền tương đối lớn, chẳng hạn như quyền vận hành DDL (tạo, sửa đổi, xóa các thủ tục được lưu trữ, Tạo, sửa đổi, xóa bảng, v.v.), nếu bạn có nhiều tài khoản, hãy quản lý
Câu hỏi này đã có câu trả lời: Bế tắc biến điều kiện (2 câu trả lời) Đã đóng 5 năm trước. Trong khi nghiên cứu đa luồng, tôi đã viết đoạn mã sau nhưng không thấy kết quả nào trên màn hình. Tôi đang làm gì sai ở đây? tôi mong đợi
Sao chép mã như sau:
Sao chép mã như sau:
Sao chép mã như sau: Const T_GATEWAY = "1.1.1.1" 'Gateway Const T_NEWDNS1 = "2.2.2.2" 'DNS1
0. Sửa đổi trường văn bản lớn chỉ mục để hỗ trợ sắp xếp PUT http://localhost:9200/lrc_blog/_mapping // Nội dung yêu cầu { "properties": { "title": { "t
React chỉ hiển thị lại khi trạng thái thay đổi. Vậy tại sao tôi có thể trực tiếp nhìn thấy những thay đổi tôi đã thực hiện đối với DOM thực? Tôi biết tôi đang sửa đổi DOM thực, nhưng điều gì sẽ kích hoạt kết xuất lại khi tôi hoàn toàn không thay đổi trạng thái. nhập R
Xcode beta 5 giới thiệu @FetchRequest cho SwiftUI. Tôi có Chế độ xem có @FetchRequest. NSFetchRequest được tạo trong trình quản lý quản lý.
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Câu hỏi được cập nhật để chỉ tập trung vào một vấn đề chỉnh sửa bài đăng này Đã đóng 7 năm trước. Cải thiện câu hỏi này
Tôi có một biểu thức [text][id] cần được thay thế bằng văn bản liên kết. Giải pháp là (id là số nguyên) $s = preg_replace("/\[([^\]]+)(\]*)\ ]\[ ([0-9]+)\]/","$1$
Tôi có một tập tin trong kho lưu trữ mà tôi không muốn ai cập nhật. Tôi có thể làm gì? Câu trả lời hay nhất bạn muốn svn lock: http://www.linxit.de/svnbook/en/1.2/svn.ref.svn.c.lock
Nói rằng tôi có một danh sách các mục. Tôi muốn xuất sang csv, nhưng trước đó tôi muốn thực hiện một số tính toán/sửa đổi. Về cơ bản, thiết lập trông như thế này: PS C:\Files> gci Directory: C:\Files Mode
Tôi có một câu hỏi rất đơn giản - có thể sửa đổi mã nguồn của các API Java như Junit, JABX không? Tôi biết đây có vẻ là một câu hỏi thực sự ngu ngốc, nhưng nó đã làm tôi khó chịu một thời gian. Câu trả lời hay nhất Nếu bạn có thể lấy được mã nguồn thì vui lòng
Tôi có một ô có các biến/cột bao gồm danh sách các ô có hình dạng khác nhau. Tôi muốn thêm một biến/cột cho mỗi tiêu đề (phụ) trong một trong các biến. Ví dụ: loại thư viện dữ liệu này("tibble") aaa aaa # A tibb
Tôi có một số menu thêm các biến vào liên kết hiện tại khi được nhấp vào. Đây là một ví dụ: 1 2 3 xyz Vấn đề của tôi là nếu tôi chọn "y" 2 lần, nó sẽ thêm "&cord=y" 2 lần. Thay vào đó, tôi muốn nó thay thế
Tôi có hai dự án: dự án dịch vụ và dự án cài đặt dịch vụ. Mục dịch vụ có thông tin lắp ráp cho sản phẩm của tôi. Nó bao gồm thông tin công ty và tên dịch vụ chính xác. Tất cả điều này dường như bị bỏ qua khi dịch vụ thực sự được cài đặt. Khi cài đặt một dịch vụ, nó sử dụng ini trong trình cài đặt dịch vụ
Khi nào đoạn mã sau có thể có tác dụng phụ? @some = map { s/xxx/y/; $_ } @some; perlcritic hiểu điều này là nguy hiểm vì ví dụ: @other = map { s/xxx/y/
Tôi muốn biết giải pháp nào sau đây tốt hơn: Tôi muốn sửa đổi một số tệp .class và tôi nhận thấy có hai cách để thực hiện: dịch ngược tệp .class, sửa đổi nó và cuối cùng biên dịch lại. - Sửa đổi trực tiếp bằng trình soạn thảo hex. Cảm ơn, câu trả lời hay nhất là ở đây
Đây là mã nút onclick của tôi. Tôi muốn chương trình của mình đợi người dùng nhấp vào JPanel và khi người dùng nhấp vào JPanel, nó sẽ in tên của nó trên bảng điều khiển. Mã nút này không hiển thị đầu ra JPopupMenu popu
Tôi đang sử dụng một API cụ thể có phương thức "getName()". getName() trả về một chuỗi. Có thể sửa đổi chuỗi này? API không chứa các phương thức sửa đổi và String getName() trả về một giá trị riêng tư
Tôi là một lập trình viên xuất sắc, rất giỏi!