Я думаю, что вы можете делать то, что вы хотите, с условной агрегацией:
SELECT time,
COUNT(*) FILTER (WHERE username = 'jon') as cnt_jon,
COUNT(*) FILTER (WHERE username = 'bob') as cnt_bob
FROM My_With
GROUP BY time;
Или, с меньшим набором:
SELECT time,
SUM( (username = 'jon')::int ) as cnt_jon,
SUM( (username = 'bob')::int ) as cnt_bob
FROM My_With
GROUP BY time;
Вместо привязки к событию onfocus вы должны привязать это действие к событию onclick, и оно будет работать так, как вы хотели.
<input onclick="this.select()" id="txt1" name="txt1" type="text" value="Search">
Это работает лучше всего для меня ...
<input type="text" onfocus="this.searchfocus = true;" onmouseup="if(this.searchfocus) {this.select(); this.searchfocus = false;}" />
Событие mouseup срабатывает после включения.
Я обошел это путем создания функции-обертки, которая использует setTimeout()
для задержки фактического вызова select()
. Затем я просто вызываю эту функцию в событии focus текстового поля. Использование setTimeout откладывает выполнение до тех пор, пока стек вызовов снова не станет пустым, что будет, когда браузер завершит обработку всех событий, произошедших при нажатии (mousedown, mouseup, click, focus и т. Д.). Это что-то вроде хака, но это работает.
function selectTextboxContent(textbox)
{
setTimeout(function() { textbox.select(); }, 10);
}
Затем вы можете сделать что-то вроде этого, чтобы сделать выбор в фокусе:
<input onfocus="selectTextboxContent(this);" type="text" value="Search">
Просто используйте <input onmouseup=select()>
. Это работает во всех браузерах.
Этот вопрос был опубликован пять лет назад, но с помощью HTML5 вы можете сделать эту функцию с помощью атрибута placeholder.
<input type="text" name="fname" placeholder="First name">
onfocus="setTimeout(function(){select(this)})"
или onfocus="setTimeout(function(){select(this)},118)"
для Firefox.
Спасибо ilawton . Это работает для меня
<input type="text" onfocus="this.searchfocus = true;" onmouseup="if(this.searchfocus) {this.select(); this.searchfocus = false;}" />
Если вы действительно настаиваете на использовании onfocus, вам также необходимо добавить onmouseup = "return false"
.