30/09/2018, 20:33

Làm sao để xác định vị trì con trỏ trong input HTML

Mình không chuyên HTML, nhưng có nhu cầu cần đụng tới nó để tiện cho việc nhập dữ liệu của mình
Chẳng là mình có nhiều ô input text với id là “o1”,“o2”,“o3”…

<input type="text" id="o1" size="5"><input type="text" id="o2"  size="5"><input type="text" placeholder="+" id="o3" size="5"><input type="text" id="o4" size="5">

Mình muốn hỏi là làm sao để xác định vị trí con trỏ đang nằm ở ô nào (“o1”,“o2”,“o3”…).

Mình lập trình android, trong androi thì chỉ cần isfocus() return true là được còn trong HTML thì hình như dòng họ focus (focus(), onfocus(),focusout,focusin(),…), không có chức năng như isfocus() trong android

Chinh Phan viết 22:47 ngày 30/09/2018

Bạn sử dụng document.activeElement
ex:https://jsfiddle.net/ChinhPhan/oneeLqnc
ref.
http://www.w3schools.com/jsref/prop_document_activeelement.asp
Nếu sử dụng Jquery thì dùng $("*:focus")
Ref:
http://api.jquery.com/focus-selector/
note: sử dụng dom thuần như cách 1 sẽ nhanh hơn.

terrypaton viết 22:44 ngày 30/09/2018

cảm ơn bạn, nhưng mà hình như activeElement này không phù hợp . để mình nói rõ hơn xíu.

Mình có một button, button này khi bấm vào sẽ gán value vào các ô(“o1”,“o2”,“o3”…) với điều kiện trước đó con trỏ đang nằm ở ô nào thì gán vào ô đó (vd o1 thì bấm vào button sẽ gán value vào o1)

Mà cái activeElement này hình như nó get value với tagName tại button khi nhấn vào button luôn ,nên không gán value vào ô được

Do value là một chuỗi text dài lặp đi lặp lại nên mình định làm một cái button gán text cho đỡ cực ấy mà

Chinh Phan viết 22:45 ngày 30/09/2018

Với yêu cầu này thì mình nghĩ cần phải chơi manual rồi, ko biết có hàm nào xác định kiểu previous-focus ko thì mình ko biết.
Nếu chơi manual thì ý tưởng là hoặc là tạo global variable trong js( chơi kiểu này hơi nguy hiểm), hoặc là tạo một hidden field, mục đích là trace lại con trỏ chuột, cứ mỗi lần chuột focus vào ô text nào thì lấy id của text đó vào hidden field (hoặc js global variable), trong sự kiện click chuột, đọc giá trị id này từ hidden field (hoặc jgv).

null viết 22:41 ngày 30/09/2018

Như ý @ChinhPhan nói là đúng rồi, nhưng mình góp ý thêm là lúc kích hoạt focus event thì gán luôn element vào global variable, chứ chỉ lấy id rồi lúc dùng phải chọn lại theo id, thì thành pha xử lý cồng kềnh rồi

Bài liên quan
0