小编Pim*_*ger的帖子

静态图像的图像onload

我知道要使onload图像工作,你必须在附加onload处理程序后设置src.但是我想将onload处理程序附加到HTML中静态的图像.现在我用以下方式做到这一点(使用jQquery):

<img id='img1' src='picture.jpg'>
Run Code Online (Sandbox Code Playgroud)

$('#img1').load( function() {
 alert('foo');
})
.attr('src', $('img1').attr('src'));
Run Code Online (Sandbox Code Playgroud)

但这是相当丑陋的并且具有明显的流程,它只能用于仅匹配一个图像的选择器.有没有其他更好的方法来做到这一点?

编辑
我的意思是它只能用于只匹配一个图像的选择器是这样做的:

<img class='img1' src='picture.jpg'>
<img class='img1' src='picture2.jpg'>
Run Code Online (Sandbox Code Playgroud)

$('.img1').load( function() {
 alert('foo');
})
.attr('src', $('.img1').attr('src'));
Run Code Online (Sandbox Code Playgroud)

这两个图像都有src ='picture.jpg'

javascript events

8
推荐指数
1
解决办法
8718
查看次数

TinyMCE - 从单词粘贴

我正在尝试配置TinyMCE,以便它接受来自Microsoft Word的粘贴并在预期的HTML层次结构中清除它.

我们的大多数编辑人员使用单个换行符表示换行符和双倍换行符表示段落.但是,MS Word的输出将下一行放在一个单独的段落中(除非你为回车键移动输入)和一个空白段落,其中两个返回的空间不间断.有没有办法消毒这种输入?我试过玩插件,但找不到任何魔法组合.

javascript tinymce ms-word content-management-system

7
推荐指数
1
解决办法
4246
查看次数

告诉用户我的库函数传递变量的最佳方法是不正确的类型

我目前正在创建一个javascript函数库.主要是供我自己使用,但你永远无法确定是否有其他人最终在他们的项目中使用它,我至少创造它就好像这可能发生.
大多数方法仅在传递的变量具有正确的数据类型时才有效.现在我的问题是:提醒用户该变量的类型不正确的最佳方法是什么?应该抛出这样的错误吗?

function foo(thisShouldBeAString){ //just pretend that this is a method and not a global function
 if(typeof(thisShouldBeAString) === 'string') {
  throw('foo(var), var should be of type string');
 }
 #yadayada
}
Run Code Online (Sandbox Code Playgroud)

我知道javascript会进行内部类型转换,但这会产生非常奇怪的结果(即'234'+ 5 ='2345'但是'234'*1 = 234)这可能会让我的方法做得非常奇怪.

编辑
为了使事情更清楚:我不希望进行类型转换,传递的变量应该是正确的类型.告诉我的库用户传递的变量类型不正确的最佳方法是什么?

javascript typechecking

5
推荐指数
1
解决办法
264
查看次数

PHPunit 忽略设置方法中的异常

我注意到 PHPUnit 会忽略setUp()方法中引发的异常,并且即使在设置函数引发异常时也只是运行测试。

在下面的代码中,异常将被忽略,下面的代码将不会运行,并且会test_method失败,因为它使用了未定义的变量。

protected $a;

public function setUp() {
    parent:setUp();
    throw new Exception(); // setup now exits silently.
    $this->a = new A(); // will never run
}

public function testA() {
    $this->assertTrue($this->a->something()); // will exit tests with PHP error, because $this->a === null
}
Run Code Online (Sandbox Code Playgroud)

我通过 CLI 使用 phpunit.xml 配置文件运行 phpunit。

有谁知道如何让 PHPunit 报告异常,然后停止 testCase 的执行?

php installation phpunit exception

5
推荐指数
1
解决办法
1689
查看次数

如何防止jQuery解析插入的HTML?

有谁知道如何停止jQuery frompars的html你通过before()和after()插入?说我有一个元素:

<div id='contentdiv'>bla content bla</div>
Run Code Online (Sandbox Code Playgroud)

我想用以下方式包装它:

<div id='wrapperDiv'>
    <div id='beforeDiv'></div>
    <div id='contentDiv'>bla content bla</div>
    <div id='afterDiv'></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我使用以下jQuery/Javascript

$('#contentDiv').each( function() {
    var beforeHTML = "<div id='wrapperDiv'><div id='beforeDiv'></div>";
    var afterHTML = "<div id='afterDiv'></div></div>";  
    $(this).before(beforeHTML);
    $(this).after(afterHTML);
}
Run Code Online (Sandbox Code Playgroud)

然而,这不会导致正确的包装,它将创建:

<div id='wrapperDiv'>
    <div id='beforeDiv'></div>
</div>
    <div id='contentDiv'>bla content bla</div>
    <div id='afterDiv'></div>
Run Code Online (Sandbox Code Playgroud)

使用wrap()也不会起作用,因为在使用时,jQuery会更加混乱:

$(this).wrap("<div id='wrapperDiv'><div id='beforeDiv'></div><div id='afterDiv'></div></div>");
Run Code Online (Sandbox Code Playgroud)

我该怎么解决这个问题?
提前致谢!

html javascript jquery dom

4
推荐指数
1
解决办法
1746
查看次数

PHP的create_function()与仅使用eval()

在PHP中,您有create_function()函数,它创建一个唯一的命名lambda函数,如下所示:

$myFunction = create_function('$foo', 'return $foo;');
$myFunction('bar'); //Returns bar
Run Code Online (Sandbox Code Playgroud)

这实际上是否更好(除了更容易)然后只是做:

do{
 $myFunction = 'createdFunction_'.rand();
}
while(function_exists($myFunction));
eval("function $myFunction(\$foo) { return \$foo; }");
$myFunction('bar'); //Returns bar
Run Code Online (Sandbox Code Playgroud)

create_function真的更好吗?(除了事实上它更容易)

php eval create-function

4
推荐指数
2
解决办法
5630
查看次数

PHP定义包含文件的范围

我有很多PHP视图文件,我曾经使用简单的include语句将其包含在我的控制器中.它们都使用在视图类中声明的方法,它们就像$ view-> method(); 但是我最近决定,如果包含也可以通过这个视图类来完成.但是,这会更改包含文件的范围,以便不再定义$ view.这是一个代码示例:

in someViewFile.php (BOTH siuations)
    <html>
    <head><title><?php echo $view->getAppTitle(); ?></title>
    etc.
OLD SITUATION in controller:
    $view = new view;
    include('someViewFile.php'); //$view is defined in someViewFile.php
NEW SITUATION in controller:
    $view = new view;
    $view->show('someViewFile'); //$view is not defined in someViewFile.php
Run Code Online (Sandbox Code Playgroud)

现在我在视图类中使用它来解决问题:

public function show($file){
    $view = &$this;
    include($file.".php");
}
Run Code Online (Sandbox Code Playgroud)

是否有声明包含文件的范围或这是解决问题的最佳方法?

这些例子是粗略简化的.

php scope include

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

动画标题应该是flash还是javascript?

我在一家小型网站建设公司工作,在我们的客户网站上,我们在横幅上有一个flash动画.动画相当厚实,是4兆字节.客户端最近请求重建该站点,该站点将再次包含动画标题.我们一直在考虑不在Flash中构建标题(或者实际上是在flash中构建它,因为我们都不能实际执行flash),而是使用Javascript(使用jQuery().animate()和plugins)构建它.

这是一个坏主意吗?动画标题的闪光效果更好吗?我知道你有更多的选择,但你也需要用户下载Flash播放器,而Javascript广泛可用.
它也是一个非常简单的动画,它主要包括文本弹出和弹出以及一些图像移动/淡入和淡出.

这应该很容易使用jQuery(我认为自己对jQuery很有经验),为什么我们会选择flash方法而不是javascript/jQuery aproach?

此外,如果我们选择Javascript方法,确保动画不会影响页面中的任何其他内容的最佳方法是什么?将绝对位置div内的完整动画做诀窍吗?

编辑
当我说横幅时,我实际上是指标题.

javascript flash jquery animation

4
推荐指数
2
解决办法
2663
查看次数

如何在C和C#应用程序之间进行通信

什么是C和C#进程之间通信的最佳方式.我需要从C#进程发送包含命令和参数等的消息.到C过程.然后C过程必须能够发送回复.

我在C#进程中启动了C进程.

实现这一目标的最佳方法是什么?我尝试使用stdin和stdout,但这不能很好地工作(由于某种原因,C进程的stdin被一些字符串(x(U + 266C)Q)发送垃圾邮件(U + 266C是一个UTF8传送十六个音符)

c c# communication

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

在jQuery中选择第n个div(以及更高版本)

假设我有一个div包含无限数量的孩子div.是否有一种简单的方法可以让jQuery选择第ndivdiv之后的所有内容,以便我可以更改它们(在这种情况下,调用remove()div的)?

javascript jquery traversal

2
推荐指数
1
解决办法
2459
查看次数