单击时附加元素
Append Element on Click
[已解决]
Codecademy无法使用我的脚本
我在网上查找了这个问题,我将代码与其他运行良好的代码进行了比较,但我所做的一切都不起作用。
我想要完成的是创建一个div,当用户按下提交按钮时,在文本区域中添加文本。我现在不需要干净的表单,也不需要xss保护措施,我只需要在用户按下按钮时添加一个div。
代码:
HTML.index
<body>
<div id="page-background">
<div id="page-footer">
<textarea id="input-box"rows='4' cols='24' placeholder='Input Text Here'></textarea>
<button id='input-button'>Submit</button>
</div>
</div>
</body>
Script.js
$(document).ready(function(){
$('#input-button').click(function(){
var userInput = $('#input-box').val();
$('#input-box').val('');
$('#page-background').append('<div>' + userInput + '</div>');
});
});
网站:http://www.codecademy.com/JamesTill/codebits/DbczHl/edit
请确保在<head>
标记中或在关闭</body>
标记之前链接到jQuery。
<head>
<script src="https://code.jquery.com/jquery-2.1.3.js"></script>
</head>
<body>
<div id="page-background">
<div id="page-footer">
<textarea id="input-box"rows='4' cols='24' placeholder='Input Text Here'></textarea>
<button id='input-button'>Submit</button>
</div>
</div>
</body>
JavaScript
var button = document.getElementById('input-button')
var pageBackground = document.getElementById('page-background')
var inputDiv = document.createElement('div')
button.addEventListener('click', function (event) {
event.preventDefault()
var userInput = document.getElementById('input-box').value
inputDiv.textContent = userInput
pageBackground.appendChild(inputDiv)
})
看起来codecademy工作不正常,但无论如何,这是一种在没有jQuery的情况下获得相同效果的方法。
相关文章:
- 对同一类中的所有元素单击一次
- 元素单击处理程序由一个神秘的函数取消设置
- 在处理元素单击事件期间,在循环内部调用window.open()
- JS-是否可以获得元素单击位置的确切宽度
- 使用 jQuery 创建动态元素 单击事件始终返回 for 循环中的最后一个索引
- 选中父元素单击上的复选框
- 在窗口和其他元素单击时隐藏
- Polymerjs 的自定义菜单元素单击事件
- 使用 javascript 函数查找元素单击的类
- 元素单击仅使用 javascript
- 等待文档鼠标按下完成,然后元素单击才能开始
- 由于父元素的顶部和位置,子元素单击不起作用
- Jquery-在共享相同类名的其他元素之间选择一个元素(单击时)
- 目标元素单击子元素,获取父属性
- 根据元素单击更改选择选项值
- 为listview上动态生成的元素单击event
- 扩展原生元素单击事件
- 可以被许多元素使用的Javascript函数,然后区分哪个元素单击了它
- 当元素单击时隐藏iframe
- 按钮元素单击事件以切换类不起作用