-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
433 lines (289 loc) · 29.3 KB
/
index.html
File metadata and controls
433 lines (289 loc) · 29.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Xiaodan's Everything</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="description">
<meta property="og:type" content="website">
<meta property="og:title" content="Xiaodan's Everything">
<meta property="og:url" content="http://blog.staydan.com/index.html">
<meta property="og:site_name" content="Xiaodan's Everything">
<meta property="og:description">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Xiaodan's Everything">
<meta name="twitter:description">
<script src="http://www.staydan.com/libs/jQuery/2.0.3/jquery-2.0.3.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css" type="text/css">
<!-- Google Analytics -->
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-32456518-4', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
</head>
<body>
<div class="container">
<div class="wrapper">
<header class="site-header">
<div id="header-title" class="site-meta inner">
<h1>
<a href="/" title="Xiaodan's Everything">Xiaodan's Everything</a>
</h1>
<h4 id="subtitle-wrap">
<a href="/" title="A foolish Programmer from Shanghai China">A foolish Programmer from Shanghai China</a>
</h4>
</div>
<nav id="site-navs" class="">
<ul>
<li class="ease-animation header-item-Home"><a href="/" title="Home">Home</a></li>
<li class="ease-animation header-item-Archives"><a href="/archives" title="Archives">Archives</a></li>
<li class="ease-animation header-item-About"><a href="/about" title="About">About</a></li>
<li class="ease-animation header-item-Logs"><a href="/logs" title="Logs">Logs</a></li>
</ul>
<div class="clearfix"></div>
</nav>
</header>
<div class="outer clearfix">
<section id="main"><section class="tags-selection">
<header class="tags-selection-header">
<div class="tags-selection-header-label"><i class="fa fa-tag"></i>Tags</div>
</header>
<div id="tags-selection-panel">
<div class="tags-selection-navs" title="Sorted by the first English alphabet."><label class="tags-selection-nav active" navid="ad">A - D</label><label class="tags-selection-nav " navid="eh">E - H</label><label class="tags-selection-nav " navid="il">I - L</label><label class="tags-selection-nav " navid="mp">M - P</label><label class="tags-selection-nav " navid="qt">Q - T</label><label class="tags-selection-nav " navid="ux">U - X</label><label class="tags-selection-nav " navid="yz">Y - Z</label></div><div class="tags-selection-content"><div id="tags-selection-content-ad" class="tags-selection-content-part"><a href="/tags/ChromeExtension"><span class="tag-instant" tagid="citf39b6k0005kn2stt9qe7p7">ChromeExtension<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Chrome Extension"><span class="tag-instant" tagid="citf39b6t000kkn2stfythgdo">Chrome-Extension<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Click Event"><span class="tag-instant" tagid="citf39b7a001dkn2sgk1r9cpb">Click-Event<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Data Visualization"><span class="tag-instant" tagid="citf39b7d001jkn2s1e9lapnn">Data-Visualization<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/docing"><span class="tag-instant" tagid="citf39b7m0024kn2smrtd8lpo">docing<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/document"><span class="tag-instant" tagid="citf39b7m0025kn2srjoxb0qr">document<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/CSS3"><span class="tag-instant" tagid="citf39b7p002dkn2smj4i9z33">CSS3<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Canvas"><span class="tag-instant" tagid="citf39b7v002pkn2skb4oj4p2">Canvas<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Algorithm"><span class="tag-instant" tagid="citf39b800033kn2srz8uxj9x">Algorithm<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/DateFormat"><span class="tag-instant" tagid="citf39b8g004ekn2s8jxcymcr">DateFormat<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/CSS"><span class="tag-instant" tagid="citf39b8i004kkn2ss3689xsd">CSS<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/AngularJS"><span class="tag-instant" tagid="citf39b8r004ykn2sft1xieef">AngularJS<sup class="tag-selection-badge">0</sup></span></a><a href="/tags/Bower"><span class="tag-instant" tagid="citf39b8r0050kn2sr092u1h2">Bower<sup class="tag-selection-badge">0</sup></span></a></div><div id="tags-selection-content-eh" class="tags-selection-content-part"><a href="/tags/hack"><span class="tag-instant" tagid="citf39b6r000ekn2sjyzss6p4">hack<sup class="tag-selection-badge">0</sup></span></a><a href="/tags/Encoding"><span class="tag-instant" tagid="citf39b70000wkn2scsk79u3e">Encoding<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Hive Plot"><span class="tag-instant" tagid="citf39b7d001kkn2s1p3bwxyf">Hive-Plot<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/HTML5"><span class="tag-instant" tagid="citf39b7p002ckn2sphsxfs1k">HTML5<sup class="tag-selection-badge">2</sup></span></a><a href="/tags/History"><span class="tag-instant" tagid="citf39b8o004ukn2sdeq5s4qs">History<sup class="tag-selection-badge">0</sup></span></a><a href="/tags/Grunt"><span class="tag-instant" tagid="citf39b8r004zkn2sel5q4bt9">Grunt<sup class="tag-selection-badge">0</sup></span></a></div><div id="tags-selection-content-il" class="tags-selection-content-part"><a href="/tags/liqi.io"><span class="tag-instant" tagid="citf39b6x000nkn2sa0vhbvdp">liqi-io<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/JavaScript"><span class="tag-instant" tagid="citf39b760015kn2s9byzy9h8">JavaScript<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/jQuery"><span class="tag-instant" tagid="citf39b770016kn2s5keb0fh2">jQuery<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/iScrollJs"><span class="tag-instant" tagid="citf39b7j001ykn2sb6dgz4i8">iScrollJs<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Jeju"><span class="tag-instant" tagid="citf39b83003fkn2svik175ji">Jeju<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/laptop"><span class="tag-instant" tagid="citf39b85003mkn2stib2ssj6">laptop<sup class="tag-selection-badge">1</sup></span></a></div><div id="tags-selection-content-mp" class="tags-selection-content-part"><a href="/tags/npmjs"><span class="tag-instant" tagid="citf39b70000vkn2syfbkcr4e">npmjs<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Pull to refresh"><span class="tag-instant" tagid="citf39b7g001rkn2slr81zn67">Pull-to-refresh<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Mask"><span class="tag-instant" tagid="citf39b7x002xkn2sr0r922ws">Mask<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Network"><span class="tag-instant" tagid="citf39b85003lkn2scmqyfqp1">Network<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/PC"><span class="tag-instant" tagid="citf39b86003okn2ss6z1djtw">PC<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Paging"><span class="tag-instant" tagid="citf39b8e0049kn2stlz2z97v">Paging<sup class="tag-selection-badge">1</sup></span></a></div><div id="tags-selection-content-qt" class="tags-selection-content-part"><a href="/tags/Sort"><span class="tag-instant" tagid="citf39b7z0032kn2smd3xmvva">Sort<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Team Building"><span class="tag-instant" tagid="citf39b810038kn2s7zcsmc3u">Team-Building<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Tooltips"><span class="tag-instant" tagid="citf39b89003ukn2sxu97dg7d">Tooltips<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Textfield"><span class="tag-instant" tagid="citf39b89003wkn2sbc1djaml">Textfield<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Render"><span class="tag-instant" tagid="citf39b8b0041kn2s1mgf8ugr">Render<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/Selection"><span class="tag-instant" tagid="citf39b8e0047kn2siabxma0j">Selection<sup class="tag-selection-badge">1</sup></span></a><a href="/tags/RadioButton"><span class="tag-instant" tagid="citf39b8i004jkn2s9eap62vg">RadioButton<sup class="tag-selection-badge">1</sup></span></a></div><div id="tags-selection-content-ux" class="tags-selection-content-part"><a href="/tags/Vue.js"><span class="tag-instant" tagid="citf39b6v000lkn2s1965hxr3">Vue-js<sup class="tag-selection-badge">1</sup></span></a></div><div id="tags-selection-content-yz" class="tags-selection-content-part"></div></div>
</div>
</section>
<section class="article-index-section">
<article id="post-v1-1-3-Released-for-liqi-io-chrome-newtab" class="article-index ease-animation">
<header class="article-header">
<div class="article-title" itemprop="name">
<a class="article-title" href="/2016/07/09/v1-1-3-Released-for-liqi-io-chrome-newtab/">v1.1.3 Released for liqi.io.chrome-newtab</a>
</div>
<div class="article-meta sm-font clearfix">
<div class="article-category">
<a class="article-category-link" href="/categories/JavaScript/">JavaScript</a><i class="fa fa-circle dot-separator"></i><a class="article-category-link" href="/categories/JavaScript/Tools/">Tools</a><i class="fa fa-circle dot-separator"></i><a class="article-category-link" href="/categories/JavaScript/Tools/ChromeExtension/">ChromeExtension</a>
</div>
<a href="/2016/07/09/v1-1-3-Released-for-liqi-io-chrome-newtab/" class="article-updated">
<time datetime="2016-07-09T09:50:18.000Z" itemprop="datePublished">16/07/09 17:07</time>
</a>
</div>
</header>
<div class="article-entry">
<p>07.09,这个在等待台风尼伯特的双休日里,花了1个多小时,把利器灵感生成器的Chrome Extension小小的更新了下,版本号变化: <strong>v1.1.2</strong> -> <strong>v1.1.3</strong></p>
<p><a href="http://staydan.com/#!/product/liqi.newtab">Official Site | 插件官网</a></p>
<h5 id="更新记录:">更新记录:</h5><ul>
<li>右侧增加前往Chrome商店评论点赞入口</li>
<li>离线数据更新至2016.06底</li>
<li>提高引言内容格式处理的兼容性</li>
</ul>
<p><img width="680px" src="https://lh3.googleusercontent.com/NZHL-HRJLK5Ldl97b2o2TDojOMxEaXNlafoQPdJvzDk7XXRO4Z4NH6LUnFu2lTgShC-SyKczQA=s1280-h800-e365-rw"></p>
</div>
<footer class="article-footer clearfix">
<div class="article-footer-left">
<a href="hexo_post.html#disqus" class="article-footer-left"><span class="comments"><i class="fa fa-comments"></i> 0</span></a>
</div>
<i class="fa fa-circle dot-separator"></i>
<ul class="ease-animation sm-font tag-list"><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/ChromeExtension/">ChromeExtension</a></li></ul>
<div class="article-footer-right">
<a href="/2016/07/09/v1-1-3-Released-for-liqi-io-chrome-newtab/"><span class="read-more button sm-font ease-animation"><i class="fa fa-angle-right pull-right"></i>Read More</span></a>
<a href="hexo_post.html"><span class="save-pocket button sm-font ease-animation"><i class="fa fa-share"></i> Share</span></a>
</div>
</footer>
</article>
<article id="post-Publishing-A-New-Tab-Chrome-Extension-liqi-io-idea-generator" class="article-index ease-animation">
<header class="article-header">
<div class="article-title" itemprop="name">
<a class="article-title" href="/2016/05/26/Publishing-A-New-Tab-Chrome-Extension-liqi-io-idea-generator/">利器 · 灵感生成器 New Tab - Chrome Extension</a>
</div>
<div class="article-meta sm-font clearfix">
<div class="article-category">
<a class="article-category-link" href="/categories/Chrome-Extension/">Chrome Extension</a><i class="fa fa-circle dot-separator"></i><a class="article-category-link" href="/categories/Chrome-Extension/Tools/">Tools</a>
</div>
<a href="/2016/05/26/Publishing-A-New-Tab-Chrome-Extension-liqi-io-idea-generator/" class="article-updated">
<time datetime="2016-05-26T09:44:31.000Z" itemprop="datePublished">16/05/26 17:05</time>
</a>
</div>
</header>
<div class="article-entry">
<h3 id="她美么?">她美么?</h3><p><a href="https://chrome.google.com/webstore/detail/lidppokaooioojchghdjekhcgdjkkohe"><img src="http://staydan.com/sweet/homePage/preImgs/liqi.newtab/wangtao@Worktile.png" alt="扩展预览图"></a></p>
<h3 id="她是什么">她是什么</h3><p>是一个 Google Chrome 的新标签页扩展,她是<a href="http://liqi.io/idea-pump/">利器 · 灵感生成器</a>的延伸</p>
</div>
<footer class="article-footer clearfix">
<div class="article-footer-left">
<a href="hexo_post.html#disqus" class="article-footer-left"><span class="comments"><i class="fa fa-comments"></i> 0</span></a>
</div>
<i class="fa fa-circle dot-separator"></i>
<ul class="ease-animation sm-font tag-list"><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/Chrome-Extension/">Chrome Extension</a></li><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/Vue-js/">Vue.js</a></li><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/liqi-io/">liqi.io</a></li></ul>
<div class="article-footer-right">
<a href="/2016/05/26/Publishing-A-New-Tab-Chrome-Extension-liqi-io-idea-generator/"><span class="read-more button sm-font ease-animation"><i class="fa fa-angle-right pull-right"></i>Read More</span></a>
<a href="hexo_post.html"><span class="save-pocket button sm-font ease-animation"><i class="fa fa-share"></i> Share</span></a>
</div>
</footer>
</article>
<article id="post-Error-Happened-When-Installing-My-Own-npm-module-With-Bin" class="article-index ease-animation">
<header class="article-header">
<div class="article-title" itemprop="name">
<a class="article-title" href="/2016/05/16/Error-Happened-When-Installing-My-Own-npm-module-With-Bin/">Error: [env: node: No such file or directory]</a>
</div>
<div class="article-meta sm-font clearfix">
<div class="article-category">
<a class="article-category-link" href="/categories/npmjs/">npmjs</a><i class="fa fa-circle dot-separator"></i><a class="article-category-link" href="/categories/npmjs/nodejs/">nodejs</a>
</div>
<a href="/2016/05/16/Error-Happened-When-Installing-My-Own-npm-module-With-Bin/" class="article-updated">
<time datetime="2016-05-16T13:26:20.000Z" itemprop="datePublished">16/05/16 21:05</time>
</a>
</div>
</header>
<div class="article-entry">
<p>当我们从其它平台迁移过来继续开发项目时,有时候经常会遇到一些因为编码不同而导致的问题</p>
<p>在开发npm模块时,遇到了个</p>
<p>在本地新建的项目,文件夹结构是从之前windows的PC上直接copy过来,在执行<a href="https://docs.npmjs.com/getting-started/installing-npm-packages-locally">npm install <em>*</em></a> 时,就总是会提示</p>
<figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line"><span class="number">192</span>:xxx xiaodan$ npm install /Users/xiaodan/projectAbc/xxx -g</span><br><span class="line">npm ERR! Darwin <span class="number">15.3</span>.<span class="number">0</span></span><br><span class="line">npm ERR! argv <span class="string">"/usr/local/Cellar/node4-lts/4.2.6/bin/node"</span> <span class="string">"/usr/local/bin/npm"</span> <span class="string">"install"</span> <span class="string">"/Users/xiaodan/projectAbc/xxx"</span> <span class="string">"-g"</span></span><br><span class="line">npm ERR! node v4.<span class="number">2.6</span></span><br><span class="line">npm ERR! npm v2.<span class="number">14.12</span></span><br><span class="line">npm ERR! path /usr/<span class="built_in">local</span>/lib/node_modules/xxx/bin/abc</span><br><span class="line">npm ERR! code ENOENT</span><br><span class="line">npm ERR! errno -<span class="number">2</span></span><br><span class="line">npm ERR! syscall chmod</span><br><span class="line"></span><br><span class="line">npm ERR! enoent ENOENT: no such file or directory, chmod <span class="string">'/usr/local/lib/node_modules/xxx/bin/xxx'</span></span><br><span class="line">npm ERR! enoent This is most likely not a problem with npm itself</span><br><span class="line">npm ERR! enoent and is related to npm not being able to find a file.</span><br><span class="line">npm ERR! enoent </span><br><span class="line"></span><br><span class="line">npm ERR! Please include the following file with any support request:</span><br><span class="line">npm ERR! /Enjoys/xiaodan/npm-debug.log</span><br></pre></td></tr></table></figure>
<p>也真的是醉了呀,试了那个旧的pc的module,还是可以通过npm install来安装的,只是在执行cli时,会报错。。。 <code>env: node\r: No such file or directory</code> 一查是因为编码的不同而导致的问题,</p>
</div>
<footer class="article-footer clearfix">
<div class="article-footer-left">
<a href="hexo_post.html#disqus" class="article-footer-left"><span class="comments"><i class="fa fa-comments"></i> 0</span></a>
</div>
<i class="fa fa-circle dot-separator"></i>
<ul class="ease-animation sm-font tag-list"><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/Encoding/">Encoding</a></li><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/npmjs/">npmjs</a></li></ul>
<div class="article-footer-right">
<a href="/2016/05/16/Error-Happened-When-Installing-My-Own-npm-module-With-Bin/"><span class="read-more button sm-font ease-animation"><i class="fa fa-angle-right pull-right"></i>Read More</span></a>
<a href="hexo_post.html"><span class="save-pocket button sm-font ease-animation"><i class="fa fa-share"></i> Share</span></a>
</div>
</footer>
</article>
<article id="post-这个主题码字很舒服" class="article-index ease-animation">
<header class="article-header">
<div class="article-title" itemprop="name">
<a class="article-title" href="/2016/04/15/这个主题码字很舒服/">这个主题码字很舒服</a>
</div>
<div class="article-meta sm-font clearfix">
<a href="/2016/04/15/这个主题码字很舒服/" class="article-updated">
<time datetime="2016-04-15T00:36:19.000Z" itemprop="datePublished">16/04/15 08:04</time>
</a>
</div>
</header>
<div class="article-entry">
</div>
<footer class="article-footer clearfix">
<div class="article-footer-left">
<a href="hexo_post.html#disqus" class="article-footer-left"><span class="comments"><i class="fa fa-comments"></i> 0</span></a>
</div>
<i class="fa fa-circle dot-separator"></i>
<div class="article-footer-right">
<a href="/2016/04/15/这个主题码字很舒服/"><span class="read-more button sm-font ease-animation"><i class="fa fa-angle-right pull-right"></i>Read More</span></a>
<a href="hexo_post.html"><span class="save-pocket button sm-font ease-animation"><i class="fa fa-share"></i> Share</span></a>
</div>
</footer>
</article>
<article id="post-jQuery-Events-Stop-Mis-Using-Return-False" class="article-index ease-animation">
<header class="article-header">
<div class="article-title" itemprop="name">
<a class="article-title" href="/2016/01/30/jQuery-Events-Stop-Mis-Using-Return-False/">jQuery事件: 停止错误地使用Return False</a>
</div>
<div class="article-meta sm-font clearfix">
<div class="article-category">
<a class="article-category-link" href="/categories/JavaScript/">JavaScript</a><i class="fa fa-circle dot-separator"></i><a class="article-category-link" href="/categories/JavaScript/jQuery/">jQuery</a>
</div>
<a href="/2016/01/30/jQuery-Events-Stop-Mis-Using-Return-False/" class="article-updated">
<time datetime="2016-01-30T02:30:35.000Z" itemprop="datePublished">16/01/30 10:01</time>
</a>
</div>
</header>
<div class="article-entry">
<p>也许当你刚开始学习关于 jQuery Events 的时候,第一点被提及到的核心内容就是关于如何阻止浏览器的默认行为。比如,一个初学者的click教程会包含下面的内容:</p>
<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">$(<span class="string">"a.toggle"</span>).click(<span class="function"><span class="keyword">function</span> (<span class="params"></span>) </span>{</span><br><span class="line"> $(<span class="string">"#mydiv"</span>).toggle();</span><br><span class="line"> <span class="keyword">return</span> <span class="literal">false</span>; <span class="comment">// Prevent browser from visiting `#`</span></span><br><span class="line">});</span><br></pre></td></tr></table></figure>
<p>上面的函数就是隐藏和显示 <code>#mydiv</code>的元素,接着取消浏览器访问a标签超链的默认行为。</p>
<p>在这些最初的例子中,坏习惯就潜移默化的影响着读者在任何想阻止浏览器默认行为时去使用<code>return falsee;</code>。我将在这篇文章中提到两个非常重要的关于阻止浏览器默认行为时的观点:</p>
<ul>
<li>使用正确的方法做事:<code>return false</code> vs. <code>preventDefault</code>, <code>stopPropagation</code>,和<code>stopImmediatePropagation</code></li>
<li>顶部、底部或者是其它中间区域:哪些是在一些事件回调函数中应该阻止默认行为的地方?</li>
</ul>
<p>注:在这篇文章中当我提到事件冒泡(event bubbing)时,我的意思就是在原始DOM元素被触发事件时如何让更多事件被触发,然后是在各自的父节点上。事件不会在元素的相邻节点或者孩子节点被触发(如果发生向下冒泡,这被称作事件捕捉)。<a href="http://www.nczonline.net/blog/2009/06/30/event-delegation-in-javascript/">学习更多关于事件冒泡和捕捉</a><br>
</div>
<footer class="article-footer clearfix">
<div class="article-footer-left">
<a href="hexo_post.html#disqus" class="article-footer-left"><span class="comments"><i class="fa fa-comments"></i> 0</span></a>
</div>
<i class="fa fa-circle dot-separator"></i>
<ul class="ease-animation sm-font tag-list"><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/JavaScript/">JavaScript</a></li><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/jQuery/">jQuery</a></li></ul>
<div class="article-footer-right">
<a href="/2016/01/30/jQuery-Events-Stop-Mis-Using-Return-False/"><span class="read-more button sm-font ease-animation"><i class="fa fa-angle-right pull-right"></i>Read More</span></a>
<a href="hexo_post.html"><span class="save-pocket button sm-font ease-animation"><i class="fa fa-share"></i> Share</span></a>
</div>
</footer>
</article>
<article id="post-how-to-trigger-single-click-and-double-click-event-in-ext-dot-grid" class="article-index ease-animation">
<header class="article-header">
<div class="article-title" itemprop="name">
<a class="article-title" href="/2014/10/03/how-to-trigger-single-click-and-double-click-event-in-ext-dot-grid/">How to trigger Single Click and Double Click event in Ext.grid</a>
</div>
<div class="article-meta sm-font clearfix">
<div class="article-category">
<a class="article-category-link" href="/categories/JavaScript/">JavaScript</a><i class="fa fa-circle dot-separator"></i><a class="article-category-link" href="/categories/JavaScript/ExtJS/">ExtJS</a>
</div>
<a href="/2014/10/03/how-to-trigger-single-click-and-double-click-event-in-ext-dot-grid/" class="article-updated">
<time datetime="2014-10-03T08:00:11.000Z" itemprop="datePublished">14/10/03 16:10</time>
</a>
</div>
</header>
<div class="article-entry">
<p>在ExtJS中,Grid应当是频繁使用的控件之一,而且Grid表格和用户交互的方式有很多种,包括单击、双击单元格,单击、双击一整行,右键上下文菜单,长按某行,鼠标选中平移某行,单选、多选行等等。。。</p>
<p>但在实际的应用中,发现了一个问题,当Grid中对单元格同时监听了单击和双击事件的话,那么这个双击事件永远也没办法被触发到,因为始终会被单击事件先截获。</p>
<p>解决方法得分两种情况分析:</p>
<ol>
<li>普通的Grid</li>
</ol>
<p>这里的普通Grid是指没有使用任何插件,所以它不具备行编辑等高级功能,在这边,我们有非常非常多的事件,例如cellclick和celldblclick,itemclick和itemdblclick,举例来讲,如果你在同一个grid上同时添加了单击和双击的监听事件,那么,你将始终无法正确获取到单击和双击事件,因为这两个会相互干扰和影响,导致程序出错。</p>
<ol>
<li>具备行编辑的Grid(RowEditor Plugin)</li>
</ol>
<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">Ext.create(<span class="string">'Ext.grid.plugin.RowEditing'</span>, {</span><br><span class="line"> clicksToEdit: <span class="number">1</span></span><br><span class="line">})</span><br></pre></td></tr></table></figure>
<p>这种模式下的Grid,又多了不少状态,尤其是在处理单双击事件时,有一个 beforeedit 是值得关注的,因为任何的在每一行上的单击都会唤起编辑器。<br>所以在这种情况下,想要区分处理单击和双击变的愈加困难。</p>
</div>
<footer class="article-footer clearfix">
<div class="article-footer-left">
<a href="hexo_post.html#disqus" class="article-footer-left"><span class="comments"><i class="fa fa-comments"></i> 0</span></a>
</div>
<i class="fa fa-circle dot-separator"></i>
<ul class="ease-animation sm-font tag-list"><li class="ease-animation sm-font tag-list-item"><a class="ease-animation sm-font tag-list-link" href="/tags/Click-Event/">Click Event</a></li></ul>
<div class="article-footer-right">
<a href="/2014/10/03/how-to-trigger-single-click-and-double-click-event-in-ext-dot-grid/"><span class="read-more button sm-font ease-animation"><i class="fa fa-angle-right pull-right"></i>Read More</span></a>
<a href="hexo_post.html"><span class="save-pocket button sm-font ease-animation"><i class="fa fa-share"></i> Share</span></a>
</div>
</footer>
</article>
<nav id="page-nav" class="ease-animation">
<span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><a class="page-number" href="/page/4/">4</a><a class="extend next" rel="next" href="/page/2/">Next »</a>
</nav>
</section></section>
</div>
<footer id="footer" class="site-footer">
© 2012 - 2016 Daniel Zhu<br>
<p>Theme by <a href="https://github.com/DanielZhu/hexo-theme-sdLineDot" title="sdLineDot" target="_blank" rel="external">sdLineDot</a> Powered by <a href="http://hexo.io/" title="Hexo" target="_blank" rel="external">Hexo</a>
</footer>
</div>
<script>
var disqus_shortname = 'danielzhugithubio';
(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<link rel="stylesheet" href="/fancybox/jquery.fancybox.css" type="text/css">
<script src="/fancybox/jquery.fancybox.pack.js" type="text/javascript"></script>
<script src="/js/script.js" type="text/javascript"></script>
<script src="/js/grouped_tag.js" type="text/javascript"></script>
</div>
</body>
</html>