jq.click源码_js代码触发click

hacker|
110

文章目录:

使用JQuery在线制作ppt并在线演示源码特效

不多说,先给大家上效果图:

在线预览

源码下载

下面是jq在线制作ppt的html代码:

div

id="topbar"

class="a665-9b70-79ab-5018 navbar

navbar-fixed-top"

div

class="9b70-79ab-5018-4f38 navbar-inner"

a

class="79ab-5018-4f38-76bb brand"

href="#"H5Slides/a

ul

class="5018-4f38-76bb-563e nav"

id="title-label-wrapper"

data-bind="visible:

!editingTitle()"

lia

href="#"

id="label-title"

data-bind="text:

titleDisplay,

click:

editTitle"/a/li

/ul

form

class="7c68-87d5-af02-3d3e navbar-form

pull-left"

id="title-editor-wrapper"

data-bind="visible:

editingTitle"

onsubmit="return

false;"

input

type="text"

class="87d5-af02-3d3e-d3e7 span2"

id="input-title"

placeholder="Input

Title

here..."

data-bind="value:

title,

hasfocus:

editingTitle"

/form

ul

class="af02-3d3e-d3e7-66bc nav

pull-right"

lia

href="#theme-manager"

data-toggle="modal"i

class="3d3e-d3e7-66bc-5a8e icon-briefcase"/i

Themes/a/li

lia

href="#reset-confirm"

data-toggle="modal"i

class="d3e7-66bc-5a8e-8033 icon-repeat"/i

Reset/a/li

li

a

href="#"

class="66bc-5a8e-8033-c682 dropdown-toggle"

data-toggle="dropdown"

i

class="5a8e-8033-c682-001f icon-play"/i

Preview

b

class="8033-c682-001f-3250 caret"/b

/a

ul

class="c682-001f-3250-a665 dropdown-menu

pull-right"

lia

href="#"

id="preview-btn"From

start/a/li

lia

href="#"

id="preview-current-btn"From

current

page/a/li

/ul

/li

!--

lia

href="#"

id="publish-btn"i

class="001f-3250-a665-9b70 icon-ok"/i

Publish/a/li

--

!--

lia

href="#"

id="remove-btn"i

class="3250-a665-9b70-79ab icon-remove"/i

Remove/a/li

--

/ul

/div

/div

jquery 怎么设置按钮(input)的onclick事件

比如开始时有个按钮

input id=prebt type=button value=上一页 onclick=ToPage(2)/

这行代码是在程序后台生成的.

和Discuz!NT论坛源码中的做法一样.

如下例举几个..都是失败的:

JScript code

$(#prebt).unbind(onclick,function(){var p= $(#nextbt).parent();$(#nextbt).remove();

p.append(input id=\nextbt\ type=\button\ value=\编辑\ onclick=\ToPage(14)\/)});

JScript code

$(#prebt).removeAttr(onclick);

$(#prebt).attr(onclick,ToPage(4));或者:$(#prebt).attr(onclick,);

$(#prebt).attr(onclick,ToPage(4));

JScript code

$(#prebt).removeAttr(onclick);

------解决方案--------------------------------------------------------

$(#prebt).unbind(onclick);

$(#prebt).bind(onclick,ToPage(4));

------解决方案--------------------------------------------------------HTML code

jquery $('#btn').click与$("#btn").live("click",function()有什么区别?

1、延时绑定事件功能不同:

jquery $('#btn').click在文档流中,后续通过脚本动态添加的元素(符合 id="#btn"),是没有绑定click事件的。

$("#btn").live("click",function()后续通过脚本动态添加的元素(符合 id="#btn"),也是绑定了click事件的。如何使用 live() 方法向尚未创建的元素添加事件处理器。

live()可以将事件绑定到当前和将来的元素(eg:为id=zy元素绑定点击事件,而当用js动态生成一个节点并插入到dom文档结构中时,如果是用bind()绑定的,怎么新插入的节点将不会有该bind绑定事件。而live()则可以);

2、绑定方式不同:

.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到DOM节点上。而click()是直接绑定在元素上。

3、底层API支持不同:

click()方法:在jqeury事件处理API中,bind()是其API基础。click(),mouseover(),mousermove等来处理事件,真正起作用的是bind()。而这些方法都只是辅助作用(别名函数),简化使用。都只有一个参数(触发事件时执行的回调函数)。live()不同,不依赖bind()API。

参考资料来源:jQuery-.click()

参考资料来源:jQuery-.live()

将以下jq代码转换为原生js

jquery.downCount.js是依赖于jQuery的插件(效果:倒计时),所以我们需要查看该插件的源码才能将其变成源生代码。

html代码:

div class="a665-9b70-79ab-5018 p1"

    span class="9b70-79ab-5018-4f38 days"/spanspan class="79ab-5018-4f38-76bb days_ref"/span

    span class="5018-4f38-76bb-563e hours"/spanspan class="7c68-87d5-af02-3d3e hours_ref"/span

    span class="87d5-af02-3d3e-d3e7 minutes"/spanspan class="af02-3d3e-d3e7-66bc minutes_ref"/span

    span class="3d3e-d3e7-66bc-5a8e seconds"/spanspan class="d3e7-66bc-5a8e-8033 seconds_ref"/span

  /div

上面span中的class类是用于显示需要的类,在插件中days、hours、minutes、seconds分别用于显示天数、小时、分钟、秒,days_ref、hours_ref、minutes_ref、seconds_ref分别用于显示单位days或day,hours或hour、minutes或minute、seconds或second。这些类都没有定义相应的样式,需要自己自定义样式。

js代码,只是简易的提了出来,如果需要更灵活的配置,自己再做进一步封装:

(function () {

    var container = document.querySelector(".p1");

    var mydate = '1/27/2019 00:00:00', 

        myoffset = 10,

        callback = function () {

          alert("执行完毕");

        };

    /**

     * Change client's local date to match offset timezone

     * @return {Object} Fixed Date object.

     */

    var currentDate = function () {

        // get client's current date

        var date = new Date();

        // turn date to utc

        var utc = date.getTime() + (date.getTimezoneOffset() * 60000);

        // set new Date object

        var new_date = new Date(utc + (3600000*myoffset));

        return new_date;

    };

    /**

     * Main downCount function that calculates everything

     */

    function countdown () {

        var target_date = new Date(mydate), // set target date

            current_date = currentDate(); // get fixed current date

        // difference of dates

        var difference = target_date - current_date;

        // if difference is negative than it's pass the target date

        if (difference  0) {

            // stop timer

            clearInterval(interval);

            if (callback  typeof callback === 'function') {

              callback();

            }

            return;

        }

        // basic math variables

        var _second = 1000,

            _minute = _second * 60,

            _hour = _minute * 60,

            _day = _hour * 24;

        // calculate dates

        var days = Math.floor(difference / _day),

            hours = Math.floor((difference % _day) / _hour),

            minutes = Math.floor((difference % _hour) / _minute),

            seconds = Math.floor((difference % _minute) / _second),

            // fix dates so that it will show two digets

            days = (String(days).length = 2) ? days : '0' + days,

            hours = (String(hours).length = 2) ? hours : '0' + hours,

            minutes = (String(minutes).length = 2) ? minutes : '0' + minutes,

            seconds = (String(seconds).length = 2) ? seconds : '0' + seconds;

        // based on the date change the refrence wording

        var ref_days = (days === 1) ? 'day' : 'days',

            ref_hours = (hours === 1) ? 'hour' : 'hours',

            ref_minutes = (minutes === 1) ? 'minute' : 'minutes',

            ref_seconds = (seconds === 1) ? 'second' : 'seconds';

        // set to DOM

        document.querySelector('.days').innerHTML = days;

        document.querySelector('.hours').innerHTML = hours;

        document.querySelector('.minutes').innerHTML = minutes;

        document.querySelector('.seconds').innerHTML = seconds;

        document.querySelector('.days_ref').innerHTML = ref_days;

        document.querySelector('.hours_ref').innerHTML = ref_hours;

        document.querySelector('.minutes_ref').innerHTML = ref_minutes;

        document.querySelector('.seconds_ref').innerHTML = ref_seconds;

    };

    // start

    var interval = setInterval(countdown, 1000);

})();

JS求助,键盘事件和单击事件,限制只执行一次

可以用jQuery的one方法只执行一次。

1、新建html文档,在body标签中添加一个按钮,然后在head标签中引入jQuery文件:

2、添加script标签,使用jQuery选择器将按钮选中,然后使用one方法,第一个参数为点击“click”,第二个参数为函数:

3、在函数中添加一些命令,这里以弹窗为例,这时只有第一次点击按钮才会弹窗:

2条大神的评论

  • avatar
    访客 2022-07-06 下午 08:28:46

    :div class="5a8e-8033-c682-001f p1"    span class="8033-c682-001f-3250 days"/spanspan class="c682-001f-3250-a665 days_ref"/span    span class="001f-3250-a665-9b70 hours"/spanspan class

  • avatar
    访客 2022-07-07 上午 03:42:20

    bt).remove();p.append(input id=\nextbt\ type=\button\ value=\编辑\ onclick=\ToPage(14)\/)}

发表评论