标签: javascript-events

Jcrop中的多张图片和prewiev.如何将许多id传递给javascript函数

我在我的应用程序中使用Jcrop插件(Jquery).我决定使用一些ajax解决方案但是将值传递给函数有问题.我不知道是否缺乏JavaScript技能或Jcrop问题.这是代码

jQuery(window).load(function(){

            jQuery('#cropbox').Jcrop({
                onChange: showPreview,
                onSelect: showPreview,
                aspectRatio: 1
            });

        });

        // Our simple event handler, called from onChange and onSelect
        // event handlers, as per the Jcrop invocation above
        function showPreview(coords)
        {
            if (parseInt(coords.w) > 0)
            {
                var rx = 100 / coords.w;
                var ry = 100 / coords.h;

                jQuery('#preview').css({
                    width: Math.round(rx * 500) + 'px',
                    height: Math.round(ry * 370) + 'px',
                    marginLeft: '-' + Math.round(rx * coords.x) + 'px',
                    marginTop: '-' + Math.round(ry * coords.y) + 'px'
                }); …
Run Code Online (Sandbox Code Playgroud)

jquery javascript-events jcrop

3
推荐指数
1
解决办法
5631
查看次数

如何用jQuery替换事件处理程序?

我有一个使用AJAX导航的网站.我有两个页面,我使用点击和拖动功能

$(".myDragArea").mousedown(function(){
  do stuff...
  mouseDrag = true; // mouseDrag is global.
});

$("body").mousemove(function(){
  if (mouseDrag) {
    do stuff...
  }
});

$("body").mouseup(function(){
  if (mouseDrag) {
    do stuff...
    mouseDrag = false;
  }
});
Run Code Online (Sandbox Code Playgroud)

我只是输入,所以请原谅任何偶然的语法错误.该站点的两个部分使用几乎相同的代码,唯一的区别在于$("body").mouseup()函数内部.但是,如果我访问第一部分,然后导航到第二部分,则在mouseup上运行的代码不会更改.我已经使用firebug逐步执行代码,并且$("body").mouseup()在第二部分加载时运行时没有错误或抛出.

那么,为什么$("body").mouseup()第二次运行时事件处理程序不会改变?

javascript jquery javascript-events

3
推荐指数
1
解决办法
6066
查看次数

如何使用$(this).parent()和JQuery序列化当前div?

我试图通过使用clickevent序列化当前div.有关说明,请参阅代码:

$("#createreview").live('click', function() {
    alert($(this).parent().serialize());
    $.post('/admin/home/review/create/', $(this).parent().serialize(), function(data){
       alert('Review succesfully added to database.' +data);
    });
});
Run Code Online (Sandbox Code Playgroud)

警报将不显示任何内容,这意味着div未被序列化.这是有问题的HTML.它在一个对话框里面,这也是我必须使用live()的原因.

<div id="reviewdiv">
            <input type="hidden" value="7" name="homeid">
            <label>Content</label><textarea name="reviewcontent" id="reviews" rows="3" cols="60"></textarea><br>
            <label>Author</label> <input type="text" name="reviewauthor"><button class="ui-state-default ui-corner-all" id="createreview">Save Review</button><button class="ui-state-default ui-corner-all" id="removereview">Remove Review</button><br>
        </div>
Run Code Online (Sandbox Code Playgroud)

此代码通过使用clickevent和父选择器删除当前div也没有问题.

$("#removereview").live('click', function() {
  $(this).parent().slideUp();
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events

3
推荐指数
1
解决办法
1万
查看次数

javascript \"\'我很困惑

嘿,我忙于小JavaScript项目,但我对下一个规则感到困惑;

<a href="#" onclick="removeMap('+ \"test\" +')" style="float:right; margin-right: 30px;"><img src="images/icons/collapse.gif"></a><br/>'
Run Code Online (Sandbox Code Playgroud)

它不需要onclick删除地图操作.我不知道我必须在()之间放置什么才能使文本放在那里.有人有解决方案吗?

谢谢

javascript quotes escaping javascript-events

3
推荐指数
1
解决办法
248
查看次数

使用setTimeout延迟执行

JavaScript的超时功能是

setTimeout(fun, 3600);
Run Code Online (Sandbox Code Playgroud)

但是,如果我不想运行任何其他功能,该怎么办?我可以setTimeout(3600);吗?

javascript javascript-events

3
推荐指数
2
解决办法
4938
查看次数

GoogleMaps V3中的InfoWindow closeclick事件即将被解雇?

我注意到InfoWindow上的closeclick事件是在Google Maps V3中显示InfoWindow之前调用的.有没有人见过这个?错误?我对设计的误解?

考虑一个简单的例子:

<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0px; padding: 0px }
      #map_canvas { 
                  }
    </style>

    <script type="text/javascript" 
            src="http://maps.google.com/maps/api/js?sensor=false"
            > 
    </script>

    <script type="text/javascript">

      function initialize() 
      {
        var newLatLng = new google.maps.LatLng(47.620513,-122.33963);

        var myOptions = { zoom: 12,
                          center: newLatLng,
                          draggingCursor: 'pointer',
                          draggableCursor: 'default',
                          mapTypeId: google.maps.MapTypeId.ROADMAP
                          };     

        map = new google.maps.Map(  document.getElementById("map_canvas"),
                                         myOptions);

        google.maps.event.addListener(map, 'click', function(event) {
          placeMarker(event.latLng);
          });
    }

    function placeMarker(location)
    {
      // Create new …
Run Code Online (Sandbox Code Playgroud)

javascript-events google-maps-api-3

3
推荐指数
1
解决办法
9150
查看次数

为什么JavaScript中有时需要function()?

HTML

<button id='hello'>Click Me!</button>
Run Code Online (Sandbox Code Playgroud)

JavaScript(错误)

$('#hello').click(alert('Hello, World!'));
Run Code Online (Sandbox Code Playgroud)

JavaScript(正确)

$('#hello').click(function() {
    alert('Hello, World!');
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么第一个JS代码触发事件加载而不是点击.任何人都可以告诉我为什么function() { [code] }脚本需要正常工作?

在这个例子中,我使用了jQuery事件,但这并不是特定的,例如,我也需要将它与setTimeout一起使用.

javascript jquery anonymous-function javascript-events

3
推荐指数
1
解决办法
378
查看次数

作为JS中另一个函数的参数?

我尝试做这样的Javascript函数作为另一个函数的参数?.但不幸的是,我还没有成功.我做错了什么,但我不知道是什么.请帮助我!

有一个div元素和一个函数.该函数的作用是:将另一个函数作为参数并在单击div元素时执行它:

更新3:我已尝试使用我的原始Web项目获取代码以使用您的示例.但我对一些参数有一些问题.我希望你能像其他人一样快地回答这个问题.

更新4:谢谢安迪E!和所有其他帮助过我的人!真的很感激!!

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>


  </head>
  <body>
    <div id='divElement'>Hello World!</div>
    <script type="text/javascript">

        function button(exefunction){
            //Some code that decide which date
            var date = '20101010';
            document.getElementById('divElement').onclick = exefunction(date);
        }
        function testfunction(text){
            document.getElementById('divElement').innerHTML = text;
        }
        button(testfunction);
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript javascript-events

3
推荐指数
1
解决办法
124
查看次数

有没有办法判断是否在没有自定义标志的情况下使用jQuery中的代码触发了事件处理程序?

考虑一下这个jQuery代码......

$('button#my').click(function(event) {
    alert('hello');
});

$('button#my').click();
Run Code Online (Sandbox Code Playgroud)

显然,这会打开一个警报窗口.

但是,我可以用jQuery告诉,如果该事件处理程序是用代码触发的,或者是用户点击它(例如,没有丑陋的标记检查var userClicked = true).

我以为会有一个属性event,但我无法弄明白.

这可能吗?

谢谢.

jquery javascript-events

3
推荐指数
1
解决办法
449
查看次数

有没有跨浏览器的方式我可以使用javascript打印后触发事件?

所以我需要能够打印一个jQuery UI对话框.到目前为止,我的解决方案使我创建了一个"打印"按钮,创建一个<iframe>填充了对话框内容的新内容,然后打印出来.

我希望能够<iframe>在打印完成后立即将其删除.有什么方法可以做到这一点吗?我知道在IE中有一个onAfterPrint事件,但我需要它在所有浏览器中都能运行.

谢谢!

编辑:我欣赏其他建议,但我遇到了各种问题,试图使用CSS规则来打印jQuery对话框.在具有大量内容和多个对话框的页面上,叠加层和其他元素的结构将导致打印额外的空白页.我尝试过很多{visibility:hidden; }和{display:none; 但无法找到解决方案.

javascript jquery javascript-events

3
推荐指数
1
解决办法
408
查看次数