我们要完成一个任务,总是从我们的解题思路开始。
解题思路,一般由我们过去的知识与经验决定。
曾经看的一本书,是什么书已经忘记了,得回去再查查。
可能是深度思维。
意思说的就是,企业家对自己的企业管理有问题,去请教一个科学家。
但科技家,其它完全不是不了解这一行业。
但是,但懂得如何解题,如何去按照一定的思维模式,去处理这些问题,
所以,经过几个小时的讨论,终于把企业家的问题理顺,找到答案了。
回头,再看我的解题思路。
第一:我想到了,是找到获取焦点的方法(通过获取焦点,这样光标焦点,就会停留在控件上。)
同时,也在一些JS官网,试验了,方法没问题,可正常运作:
document.getElementById('male').focus();
我以为就这样事情结束了。
但,我用了获取焦点方法,结果,没有任何反映。
接下来,这是我认为最重要的一步。
然后:
第一个方法:在原来的代码里,不断作修改。(这样极大可能会越弄越混乱)
第二个方法(可偿试):但找到一样的情况,基本上找不到。
第三个方法(推荐):自己重新建立干净的,无任何干扰的代码。
我基本上,在第一个方法中,花了10分钟。不行。因此,我控制住了,自己的“贪快的欲望”,
因为第一个方法,如果成功,就直接成功了(因为直接在原来的代码上做的),但是,我决定还是
不在这样乱花时间。
第二个方法,我实在想不到怎么百度(因为这问题已经看出来,很少可能受别的影响 )
于是,我用了第三个方法,自己重新建立HTML,
代码如下:
<script type="text/javascript">
$(".search_top").mousedown(
function() {
$(".search_bomb_box").show();
$("#searchIndex").hide();
$("#wrapper").hide();
$("#filterTools").hide();
document.getElementById('searchWordAtBomb').focus();
document.getElementById('searchWordAtBomb').value = 'ss';
}
);
$(".search_bomb_box .search_topBox>a").mousedown(
function() {
$(".search_bomb_box").hide();
$("#searchIndex").show();
$("#wrapper").show();
$("#filterTools").show();
//$("#searchWordAtBomb").focus();
}
);
</script>
直接把 mousedown事件,改为click即可。
于是,我还要检查一下,两个事件的细微区别
由于,我做的这个程序,不涉及拖动,因此,暂时无影响。
于是,深入学习一下,发现事件顺序是这样:mousedown -> focus -> mouseup -> click->blur
<!doctype html>
<html>
<head>
</head>
<body>
<input type="text" id="test" />
<script>
var input = document.getElementById("test");
addListener(input, "blur", function() {
console.log("blur");
});
addListener(input, "mousedown", function() {
console.log("mousedown");
});
addListener(input, "mouseup", function() {
console.log("mouseup");
});
addListener(input, "click", function() {
console.log("click");
});
addListener(input, "focus", function() {
console.log("focus");
});
function addListener(dom, event, func) {
if(dom.addEventListener) {
dom.addEventListener(event, func);
} else if(dom.attachEvent) {
dom.attachEvent("on"+event, func);
} else {
dom["on"+event] = func;
}
}
</script>
</body>
</html>