我有一个使用的脚本$(document).ready,但它不使用jQuery中的任何其他内容.我想通过删除jQuery依赖项来减轻它.
如何在$(document).ready不使用jQuery的情况下实现自己的功能?我知道使用window.onload不会是相同的,因为window.onload在加载了所有图像,帧等之后的火灾.
我有一个文本输入和一个按钮(见下文).当在文本框中按下键时,如何使用JavaScript 触发按钮的单击事件Enter?
我当前页面上已经有一个不同的提交按钮,所以我不能简单地将按钮设置为提交按钮.并且,如果从这个文本框中按下该按钮,我只希望Enter键单击此特定按钮,没有别的.
<input type="text" id="txtSearch" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />
我正在写一个Javascript脚本.此脚本可能会异步加载(AMD格式).
在这个脚本中,在window.load事件被触发之前,我不想做任何重要事情.所以我听窗口"加载"事件.
但是如果在window.load事件之后加载脚本......我怎么知道window.load已经被触发了?
当然我不想在任何其他脚本中添加内容(它们都是异步加载,问题是一样的):)
编辑:
想象一下,根本没有Javascript的HTML文档.
有人在此doc中插入一个标记,并且此脚本标记加载我的Javascript文件.
这将执行我的脚本.
这个脚本如何知道window.load是否已被触发?
我之前没有jQuery,也没有HTML文档中的任何脚本.
有可能知道??
我找到了window.document.readystate属性.此属性用于文档"就绪"事件我gess,而不是窗口"加载".窗口"加载"事件有什么类似的吗?
我想在不使用jQuery的情况下重写这一行,因此可以更快地应用(并且在下载jQuery库之前).这条线是......
$(document).ready(function() { $('body').addClass('javascript'); });
如果我将它添加到html元素中,我是否可以省去DOM准备好的部分?但有一个问题是验证器不喜欢html元素上的class属性,即使它是用JS插入的.
那么,如果没有jQuery,我该如何重写呢?
我收到以下错误
未捕获的TypeError:无法读取null的属性'appendChild'
myRequest.onreadystatechange @ script.js:20
用我的以下代码
// index.html 
<html>
    <head>
        <title>Simple Page</title>
    </head>
    <body>
        <div id="mainContent">
            <h1>This is an AJAX Example</h1>
        </div>
        <script type="text/javascript" src="script.js"></script>
    </body>
</html>
这是我的JavaScript文件
// script.js
// 1. Create the request
var myRequest;
// feature check!
if(window.XMLHttpRequest) { // Firefox, Safari
    myRequest = new XMLHttpRequest();
} else if (window.ActiveXObject){ // IE
    myRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
// 2. Create an event handler for our request to call back 
myRequest.onreadystatechange = function() {
    console.log("We were called!");
    console.log(myRequest.readyState); …我audio在一个页面上有很多元素,我想一次只播放一个元素.也就是说,如果audio正在播放一个元素,并且我在另一个元素上单击播放,则前一个audio元素应该暂停.
我从另一个问题中找到了一个jQuery代码,但它使用了一个图像作为播放/暂停控件.我正在使用元素的内置controls='controls'属性audio.audio在我的情况下,是否可以使用jQuery来控制元素的播放/暂停功能?
这是我的HTML代码
<div>
    <p class="song"><h3><strong>#1 Intro - The Oath</strong></h3><p>
    <audio class="playback" src=http://geo-samples.beatport.com/lofi/5005876.LOFI.mp3 controls='controls' preload="none">
        <I>Your browser does not support the audio element.</I>
    </audio>
</div>
<div>
    <p class="song"><h3><strong>#2 A State Of Trance Year Mix 2013</strong></h3></p>
    <audio class="playback" src=http://geo-samples.beatport.com/lofi/5005933.LOFI.mp3 controls='controls' preload="none">
        <I>Your browser does not support the audio element.</I>
     </audio>
</div>
这是jQuery代码
$(document).ready(function() {
    var curPlaying;
    $(function() {
        $(".playback").click(function(e) {
            e.preventDefault();
            var song = $(this).next('audio')[0];
            if(song.paused){
                song.play();
                if(curPlaying) $("audio", …用于添加 3D 饼图(Google 图表)的 JavaScript 代码。饼图未显示在视图中。如何解决?
Javascript:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
        $(function() {
            <?php
                $bookingData = array();
                $i=0;
                foreach($bookingCounts as $booking){
                $bookingData[$i]['label'] = $booking['Name'];
                $bookingData[$i]['data'] = $booking['total'];
                $i++;
                }
            ?>
            var data = <?php echo json_encode($bookingData, JSON_NUMERIC_CHECK);?>;
            console.log(data);
    var options = {
          title: 'Booking',
          is3D: true,
        };
        var chart = new google.visualization.PieChart(document.getElementById('flot-pie-chart'));
        chart.draw(data, options);
});
我的观点是:
<div class="flot-chart">
    <div class="flot-chart-content" id="flot-pie-chart">
    </div>
 </div>
javascript ×7
jquery ×3
ajax ×1
asynchronous ×1
audio ×1
button ×1
dom-events ×1
html ×1
html5-audio ×1
onclick ×1
onkeypress ×1
php ×1
pie-chart ×1