Only register click if not clicking a button

I am making a level editor for my 2d game. I am using Camera.main.ScreenToWorldPoint(Input.mousePosition); to get the position of the mouse to determine where to put objects.

This works fine, but when I click on a button to choose another tile or to pause the game it creates a tile behind the button. Is there any way I can check for a button at the cursor position before placing the tile? Or should I be getting the mouse position differently?

I ended up making a GameObject that has Collider2Ds (set to trigger) that go over the buttons, and I check to see is the mouse position is in one of those. This is the best way I can think of, but if anyone knows of an easier way that I missed, please let me know.

Here is the code:

At the top:

public GameObject ignore; //GameObject that has Collider2Ds showing where to ignore clicks

private Vector3 mousePos;

In Update():

if (Input.GetAxisRaw("Fire1") == 1f)
	mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

	mousePos = new Vector3(mousePos.x, mousePos.y); //sets mousePos.z to 0

	if (ignore != null)
		foreach (Collider2D c in ignore.GetComponents<Collider2D>())
			if (c.bounds.Contains(mousePos))
	//do stuff with mousePos here