最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Using Pagedown I get "Uncaught TypeError: Cannot read property 'attachEvent' of null&q

programmeradmin2浏览0评论

When ever I load a page with a very simple example I get

Uncaught TypeError: Cannot read property 'attachEvent' of null. Markdown.Editor.js:273

in my Chrome console log.

In Firebug I get

elem is null [Break On This Error]  
if (elem.attachEvent) {
Markdo...itor.js (line 273)

Why am I getting those errors and how do I solve it?

When ever I load a page with a very simple example I get

Uncaught TypeError: Cannot read property 'attachEvent' of null. Markdown.Editor.js:273

in my Chrome console log.

In Firebug I get

elem is null [Break On This Error]  
if (elem.attachEvent) {
Markdo...itor.js (line 273)

Why am I getting those errors and how do I solve it?

Share Improve this question edited May 25, 2012 at 16:07 user166390 asked May 25, 2012 at 15:53 Evan CarrollEvan Carroll 1 3
  • null.attachEvent <-- it's the same as this. Why doesn't that work, and why is elem evaluating to null here? – user166390 Commented May 25, 2012 at 15:56
  • That elem evaluates to null and you should find out why. – user166390 Commented May 25, 2012 at 15:57
  • 1 @pst I did find out why, the element doesn't exist yet if you run the javascript-wmd-initializing code in the HEAD. This is a self-answer question because Google shows a lot of people encountering the problem, and the only demo shows the code being executed at the end of the body -- not where people are likely to place it when they try to incorporate the library. – Evan Carroll Commented May 25, 2012 at 15:58
Add a ment  | 

1 Answer 1

Reset to default 7

Take a look at the code in the demo.

<script type="text/javascript">
  (function () {
    var converter1 = Markdown.getSanitizingConverter();
    var editor1 = new Markdown.Editor(converter1);
    editor1.run();
  } );
</script>

See where it is located? At the end of the body. This means the elements already exist. However, you're probably loading this JavaScript in the head. Instead, put the code in a .ready() block, or put it back at the end of the body (or after the textarea in the DOM).

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论