Prevent focus on mobile
This commit is contained in:
parent
3c8179fda1
commit
3d6e4a38c6
@ -823,15 +823,46 @@ $(function() {
|
|||||||
})
|
})
|
||||||
.tab(complete, {hint: false});
|
.tab(complete, {hint: false});
|
||||||
|
|
||||||
|
var focus = $.noop;
|
||||||
|
if (!("ontouchstart" in window || navigator.maxTouchPoints > 0)) {
|
||||||
|
focus = function() {
|
||||||
|
if (chat.find(".active").hasClass("chan")) {
|
||||||
|
input.focus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$(window).on("focus", focus);
|
||||||
|
|
||||||
|
chat.on("click", ".chat", function() {
|
||||||
|
setTimeout(function() {
|
||||||
|
var text = "";
|
||||||
|
if (window.getSelection) {
|
||||||
|
text = window.getSelection().toString();
|
||||||
|
} else if (document.selection && document.selection.type !== "Control") {
|
||||||
|
text = document.selection.createRange().text;
|
||||||
|
}
|
||||||
|
if (!text) {
|
||||||
|
focus();
|
||||||
|
}
|
||||||
|
}, 2);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Triggering click event opens the virtual keyboard on mobile
|
||||||
|
// This can only be called from another interactive event (e.g. button click)
|
||||||
|
var forceFocus = function() {
|
||||||
|
input.trigger("click").focus();
|
||||||
|
};
|
||||||
|
|
||||||
// Cycle through nicks for the current word, just like hitting "Tab"
|
// Cycle through nicks for the current word, just like hitting "Tab"
|
||||||
$("#cycle-nicks").on("click", function() {
|
$("#cycle-nicks").on("click", function() {
|
||||||
input.triggerHandler($.Event("keydown.tabcomplete", {which: 9}));
|
input.triggerHandler($.Event("keydown.tabcomplete", {which: 9}));
|
||||||
focus();
|
forceFocus();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#form").on("submit", function(e) {
|
$("#form").on("submit", function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
focus();
|
forceFocus();
|
||||||
var text = input.val();
|
var text = input.val();
|
||||||
|
|
||||||
if (text.length === 0) {
|
if (text.length === 0) {
|
||||||
@ -951,29 +982,6 @@ $(function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
chat.on("click", ".chat", function() {
|
|
||||||
setTimeout(function() {
|
|
||||||
var text = "";
|
|
||||||
if (window.getSelection) {
|
|
||||||
text = window.getSelection().toString();
|
|
||||||
} else if (document.selection && document.selection.type !== "Control") {
|
|
||||||
text = document.selection.createRange().text;
|
|
||||||
}
|
|
||||||
if (!text) {
|
|
||||||
focus();
|
|
||||||
}
|
|
||||||
}, 2);
|
|
||||||
});
|
|
||||||
|
|
||||||
$(window).on("focus", focus);
|
|
||||||
|
|
||||||
function focus() {
|
|
||||||
var chan = chat.find(".active");
|
|
||||||
if (screen.width > 768 && chan.hasClass("chan")) {
|
|
||||||
input.focus();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sidebar.on("click", ".chan, button", function() {
|
sidebar.on("click", ".chan, button", function() {
|
||||||
var self = $(this);
|
var self = $(this);
|
||||||
var target = self.data("target");
|
var target = self.data("target");
|
||||||
@ -1042,9 +1050,7 @@ $(function() {
|
|||||||
socket.emit("names", {target: self.data("id")});
|
socket.emit("names", {target: self.data("id")});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screen.width > 768 && chan.hasClass("chan")) {
|
focus();
|
||||||
input.focus();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
sidebar.on("click", "#sign-out", function() {
|
sidebar.on("click", "#sign-out", function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user