小编Bin*_*100的帖子

focus()不在safari或chrome中工作

我有一个已经给出tabindex的div,当div被聚焦时(单击或选项卡)它执行以下操作:

将输入插入其自身,给出输入焦点

这在FF,IE和Opera中很有用

但是在Chome/Safari中它给出了输入焦点,但实际上没有将光标放在输入内(我知道它会让焦点因为出现了safari/chrome焦点边框).

有关于发生了什么的任何建议?

我必须在此之后修复密钥处理程序,这样箭头键和退格键也可以工作,如果你愿意,可以随意插入.

先感谢您!

以下是代码示例:

var recipientDomElem = $("#recipientsDiv");
recipientDomElem[0].tabIndex = 0;
$("#recipientsDiv").focus(function(e){
var code = (e.keyCode ? e.keyCode : e.which);
window.clearTimeout(statusTimer);
recipientDivHandler(code, null);
});


function recipientDivHandler(code, element){
$("#recipientsDiv").append('<input type="text" id="toInput" class="inlineBlockElement rightSpacer" style="border:0px none #ffffff; padding:0px; width:40px;margin-bottom:3px;padding:0; overflow:hidden; font-size:11px;" />');
$("#toInput").focus();
}
Run Code Online (Sandbox Code Playgroud)

关于这一点的另一个奇怪之处是,跳转到div会触发div.focus()函数并正确地给出输入焦点...它只是失败的点击.我尝试在div上放置一个.click()函数来做与焦点相同的操作,但它不起作用.

javascript jquery focus keystroke dynamic-forms

21
推荐指数
1
解决办法
4万
查看次数

如何通过多个连接加速MySQL查询

这里是我的问题,我选择和做多加入,以获得正确的物品......它拉动了相当数量的行,超过100,000.当日期范围设置为1年时,此查询需要超过5分钟.

我不知道是否可能,但我担心用户可能会将日期范围延长至十年并使其崩溃.

谁知道我怎么能加快速度呢?这是查询.

SELECT DISTINCT t1.first_name, t1.last_name, t1.email 
FROM table1 AS t1 
INNER JOIN table2 AS t2 ON t1.CU_id = t2.O_cid 
INNER JOIN table3 AS t3 ON t2.O_ref = t3.I_oref 
INNER JOIN table4 AS t4 ON t3.I_pid = t4.P_id 
INNER JOIN table5 AS t5 ON t4.P_cat = t5.C_id 
WHERE t1.subscribe =1 
AND t1.Cdate >= $startDate
AND t1.Cdate <= $endDate
AND t5.store =2
Run Code Online (Sandbox Code Playgroud)

我不是最好的mysql所以任何帮助将不胜感激!

提前致谢!

UPDATE

这是你要求的解释

id  select_type     table   type    possible_keys   key     key_len     ref     rows    Extra
1   SIMPLE  t5  ref …
Run Code Online (Sandbox Code Playgroud)

mysql sql join

14
推荐指数
2
解决办法
2万
查看次数

js或Jquery - 获取可滚动div的可视区域

我目前有一个动态填充的可滚动div.
我有一个函数捕获UpArrow和DownArrow keyPresses并更改父div中的类以一次选择一个子(基本上这模仿选择输入)

这就是我想要做的事情:我需要div的可视区域来更改(向下或向上)以显示最近"选定"的子项,但前提是该子项尚未位于父项的可查看区域中.

所以我需要以某种方式获得与父div的scrollHeight相关的可视区域......但我不知道该怎么做...

另外,我不知道如何设置父div的可视区域.

任何帮助将不胜感激!

javascript scroll custom-scrolling

5
推荐指数
1
解决办法
5502
查看次数

Jquery .keypress对动态添加的输入

我目前正在通过.click事件添加输入,然后想要收听此输入上发生的任何按键.但是,附加后不会触发任何事件(即模糊,按键,焦点).有没有人有什么建议?提前致谢!

$("#recipientsDiv").click(function(){
    $(this).append('< input type="text" id="toInput" class="inlineBlockElement" style="border:0px none #ffffff; padding:0px; width:20px; overflow:hidden;" />')
    $("#toInput").focus();
});
$("input").keypress(function(e){
    var inputStr = $(this).html();
    $("#inputCopier").text(inputStr);
    var newWidth = $("#inputCopier").innerWidth;
    $(this).css("width", newWidth);
});
$("#toInput").blur(function(){
    $("#toInput").remove();
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过.keyup .keydown,它们不起作用.

jquery keypress textinput dynamic-forms

2
推荐指数
2
解决办法
1万
查看次数